[seam-commits] Seam SVN: r8242 - in trunk/examples/wiki: src/main/org/jboss/seam/wiki/core/action and 31 other directories.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Wed May 21 03:38:53 EDT 2008
Author: christian.bauer at jboss.com
Date: 2008-05-21 03:38:53 -0400 (Wed, 21 May 2008)
New Revision: 8242
Added:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaValidator.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheInvalidator.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyTopicToList.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml
Removed:
trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyTopicToList.xhtml
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml
trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml
trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml
Modified:
trunk/examples/wiki/src/etc/WEB-INF/components.xml
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryBrowser.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHistory.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UploadHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserPasswordReset.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserSearch.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiRequestResolver.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmentCache.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptcha.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/PluginRegistry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/WikiPluginMacro.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/MacroComponentHandler.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/Uploader.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/ZipImporter.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/blosxom/BlosxomImporter.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/AbstractImporter.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/Basic.plugin.xml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/i18n/messages_basic_en.properties
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/templates/userProfile.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/Blog.plugin.xml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/i18n/messages_blog_en.properties
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/Forum.plugin.xml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumDAO.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumHome.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQuery.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/i18n/messages_forum_en.properties
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumListTable.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumReplies.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumTopPosters.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicPager.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicTable.xhtml
trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/jira/templates/jiraIssueList.xhtml
trunk/examples/wiki/view/dirEdit_d.xhtml
trunk/examples/wiki/view/includes/breadcrumb.xhtml
trunk/examples/wiki/view/includes/captchaEntry.xhtml
trunk/examples/wiki/view/includes/commentsDisplay.xhtml
Log:
More fragment caching, deprecated FacesMessages, captcha improvements, minor fixes
Modified: trunk/examples/wiki/src/etc/WEB-INF/components.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/components.xml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/etc/WEB-INF/components.xml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -24,6 +24,13 @@
<!-- Persistence stuff -->
+ <persistence:managed-persistence-context
+ name="entityManager"
+ auto-create="true"
+ entity-manager-factory="#{wikiEntityManagerFactory}"
+ persistence-unit-jndi-name="java:/entityManagerFactories/wiki">
+ </persistence:managed-persistence-context>
+
<persistence:filter name="accessLevelFilter">
<persistence:name>accessLevelFilter</persistence:name>
<persistence:parameters>
@@ -36,51 +43,18 @@
class="org.jboss.seam.wiki.core.dao.WikiManagedPersistenceContext">
<property name="entityManagerFactory">#{wikiEntityManagerFactory}</property>
<property name="persistenceUnitJndiName">java:/entityManagerFactories/wiki</property>
- <property name="filters">
- <value>#{accessLevelFilter}</value>
- </property>
+ <property name="filters"><value>#{accessLevelFilter}</value></property>
</component>
- <!-- TODO: I want to reset the filter argument when a user logs in, so had to write my own SMPC, this is only
- "safe" because a logged-in user means higher access privileges than before, so anything that was
- cached in the SMPC before the filter argument is reset has to be still valid. We hope...
- <persistence:managed-persistence-context name="restrictedEntityManager"
- auto-create="true"
- entity-manager-factory="#{wikiEntityManagerFactory}"
- persistence-unit-jndi-name="java:/entityManagerFactories/wiki">
- <persistence:filters><value>#{accessLevelFilter}</value></persistence:filters>
- </persistence:managed-persistence-context>
- -->
- <persistence:managed-persistence-context name="entityManager"
- auto-create="true"
- entity-manager-factory="#{wikiEntityManagerFactory}"
- persistence-unit-jndi-name="java:/entityManagerFactories/wiki">
- </persistence:managed-persistence-context>
+ <!-- JSF entity instance from/to string converters for select lists -->
- <!--
- <component name="restrictedEntityConverter" scope="CONVERSATION" precedence="20"
- class="org.jboss.seam.ui.converter.EntityConverter">
- <property name="entityManager">#{restrictedEntityManager}</property>
- </component>
-
- <component name="entityConverter" scope="CONVERSATION" precedence="20"
- class="org.jboss.seam.ui.converter.EntityConverter">
- <property name="entityManager">#{entityManager}</property>
- </component>
-
- <component name="nestedSetNodeWrapperRestrictedEntityConverter" scope="CONVERSATION" precedence="20"
- class="org.jboss.seam.wiki.core.nestedset.ui.NestedSetNodeWrapperEntityConverter">
- <property name="entityManager">#{restrictedEntityManager}</property>
- </component>
- -->
-
<ui:entity-converter name="entityConverter"
scope="CONVERSATION" precedence="20" entity-loader="#{regularEntityLoader}"/>
- <ui:entity-loader name="regularEntityLoader" entity-manager="#{entityManager}"/>
+ <ui:jpa-entity-loader name="regularEntityLoader" entity-manager="#{entityManager}"/>
<ui:entity-converter name="restrictedEntityConverter"
scope="CONVERSATION" precedence="20" entity-loader="#{restrictedEntityLoader}"/>
- <ui:entity-loader name="restrictedEntityLoader" entity-manager="#{restrictedEntityManager}"/>
+ <ui:jpa-entity-loader name="restrictedEntityLoader" entity-manager="#{restrictedEntityManager}"/>
<ui:entity-converter name="nestedSetNodeWrapperRestrictedEntityConverter"
class="org.jboss.seam.wiki.core.nestedset.ui.NestedSetNodeWrapperEntityConverter"
@@ -105,6 +79,8 @@
<property name="cacheRegions">
<value>wiki.MainMenu</value>
<value>wiki.Breadcrumb</value>
+ <value>wiki.Comment</value>
+ <value>wiki.Signature</value>
</property>
</component>
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -8,6 +8,8 @@
import org.hibernate.validator.InvalidValue;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.international.StatusMessage;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
@@ -15,7 +17,6 @@
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Validators;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
@@ -30,7 +31,6 @@
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.util.Progress;
-import javax.faces.application.FacesMessage;
import javax.persistence.EntityManager;
import java.io.Serializable;
import java.util.ArrayList;
@@ -46,7 +46,7 @@
static Log log;
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@In
EntityManager entityManager;
@@ -71,8 +71,8 @@
log.debug("flushing the entityManager (maybe again)");
entityManager.flush(); // Flush everything (maybe again if prefEditor.save() already flushed)
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ StatusMessage.Severity.INFO,
"lacewiki.msg.SystemSettingsUpdated",
"System settings updated"
);
@@ -123,7 +123,7 @@
InvalidValue[] ivs = validator.getInvalidValues(linkProtocol);
if (ivs.length>0) {
for (InvalidValue iv : ivs) {
- facesMessages.addToControl(iv.getPropertyName(), FacesMessage.SEVERITY_INFO, iv.getMessage());
+ statusMessages.addToControl(iv.getPropertyName(), StatusMessage.Severity.INFO, iv.getMessage());
}
return;
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -14,6 +14,7 @@
import org.jboss.seam.core.Events;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.international.Messages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
@@ -24,8 +25,9 @@
import org.jboss.seam.wiki.core.ui.WikiRedirect;
import org.jboss.seam.wiki.util.WikiUtil;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+
import javax.faces.validator.ValidatorException;
import java.util.Date;
@@ -173,8 +175,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Comment.Persist",
"Comment '{0}' has been saved.",
getInstance().getSubject()
@@ -183,8 +185,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Comment.Update",
"Comment '{0}' has been updated.",
getInstance().getSubject()
@@ -193,8 +195,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Comment.Delete",
"Comment '{0}' has been deleted.",
getInstance().getSubject()
@@ -207,15 +209,16 @@
/* -------------------------- Internal Methods ------------------------------ */
+ // TODO: Why again are we using a different validator here for the text editor?
protected boolean validateContent() {
FormattedTextValidator validator = new FormattedTextValidator();
try {
validator.validate(null, null, getInstance().getContent());
} catch (ValidatorException e) {
// TODO: Needs to use resource bundle, how?
- getFacesMessages().addToControl(
+ StatusMessages.instance().addToControl(
getTextAreaId(),
- FacesMessage.SEVERITY_WARN,
+ WARN,
e.getFacesMessage().getSummary()
);
return false;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryBrowser.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryBrowser.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryBrowser.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -12,8 +12,8 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.security.Restrict;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.international.Messages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.model.*;
@@ -27,8 +27,9 @@
import org.richfaces.event.NodeExpandedEvent;
import org.richfaces.event.NodeSelectedEvent;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
-import static javax.faces.application.FacesMessage.SEVERITY_WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import javax.persistence.EntityManager;
import java.io.Serializable;
import java.util.*;
@@ -49,7 +50,7 @@
Clipboard clipboard;
@In
- FacesMessages facesMessages;
+ StatusMessages statusMessages;
@In
EntityManager restrictedEntityManager;
@@ -306,9 +307,9 @@
if (!wikiNodeDAO.isUniqueWikiname(getInstance().getAreaNumber(), WikiUtil.convertToWikiName(pastedName))) {
log.debug("wikiname is not unique, renaming");
if (pastedName.length() > 245) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"name",
- SEVERITY_WARN,
+ WARN,
"lacewiki.msg.Clipboard.DuplicatePasteNameFailure",
"The name '{0}' was already in use in this area and is too long to be renamed, skipping paste.",
pastedName
@@ -324,9 +325,9 @@
}
pastedName = attemptedName;
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"name",
- SEVERITY_INFO,
+ INFO,
"lacewiki.msg.Clipboard.DuplicatePasteName",
"The name '{0}' was already in use in this area, renamed item to '{1}'.",
n.getName(), pastedName
@@ -401,8 +402,8 @@
}
restrictedEntityManager.flush();
- facesMessages.addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Trash.Emptied",
"All items in the trash have been permanently deleted."
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -13,6 +13,7 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.international.Messages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
import org.jboss.seam.wiki.core.model.WikiDirectory;
@@ -21,8 +22,8 @@
import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.util.WikiUtil;
-import javax.faces.application.FacesMessage;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.*;
/**
@@ -131,8 +132,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Directory.Persist",
"Directory '{0}' has been saved.",
getInstance().getName()
@@ -141,8 +142,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Directory.Update",
"Directory '{0}' has been updated.",
getInstance().getName()
@@ -151,8 +152,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Directory.Delete",
"Directory '{0}' has been deleted.",
getInstance().getName()
@@ -160,15 +161,15 @@
}
protected void feedCreatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Feed.Create",
"Created syndication feed for this directory");
}
protected void feedRemovedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Feed.Remove",
"Removed syndication feed of this directory");
}
@@ -184,7 +185,8 @@
/* -------------------------- Internal Methods ------------------------------ */
private void refreshAvailableMenuItems(WikiDirectory dir) {
- availableMenuItems = new TreeSet();
+ if (availableMenuItems == null) availableMenuItems = new TreeSet();
+ availableMenuItems.clear();
availableMenuItems.addAll(getWikiNodeDAO().findChildWikiDirectories(dir));
availableMenuItems.removeAll(alreadyUsedMenuItems);
}
@@ -250,8 +252,8 @@
getLog().debug("resetting feed of directory");
getInstance().getFeed().getFeedEntries().clear();
getInstance().getFeed().setPublishedDate(new Date());
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Feed.Reset",
"Queued removal of all feed entries from the syndication feed of this directory, please update to finalize");
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHistory.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHistory.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHistory.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,12 +1,11 @@
package org.jboss.seam.wiki.core.action;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.annotations.security.Restrict;
-import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
@@ -16,7 +15,9 @@
import org.jboss.seam.wiki.util.Diff;
import org.jboss.seam.wiki.util.WikiUtil;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.io.Serializable;
import java.util.List;
@@ -42,7 +43,7 @@
WikiNodeDAO wikiNodeDAO;
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@DataModel
private List<WikiFile> historicalFileList;
@@ -115,8 +116,8 @@
displayedHistoricalFile = selectedHistoricalFile;
diffResult = null;
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.DiffOldVersionDisplayed",
"Showing historical revision {0}",
selectedHistoricalFile.getRevision()
@@ -130,8 +131,8 @@
if (historicalFileId == null) return;
selectedHistoricalFile = wikiNodeDAO.findHistoricalFile(getCurrentFile().getHistoricalEntityName(), historicalFileId);
if (selectedHistoricalFile == null) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ statusMessages.addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.HistoricalNodeNotFound",
"Couldn't find historical node: {0}",
historicalFileId
@@ -192,8 +193,8 @@
diffResult = result.toString();
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.DiffCreated",
"Comparing current revision with historical revision {0}",
selectedHistoricalFile.getRevision()
@@ -202,8 +203,8 @@
@Restrict("#{s:hasPermission('Node', 'edit', documentHistory.currentFile)}")
public String rollback() {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.RollingBackDocument",
"Rolling document back to revision {0}",
selectedHistoricalFile.getRevision()
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -9,6 +9,7 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.international.Messages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
@@ -28,7 +29,8 @@
import org.jboss.seam.wiki.preferences.Preferences;
import org.hibernate.validator.Length;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.*;
@Name("documentHome")
@@ -259,8 +261,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Document.Persist",
"Document '{0}' has been saved.",
getInstance().getName()
@@ -269,8 +271,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Document.Update",
"Document '{0}' has been updated.",
getInstance().getName()
@@ -279,8 +281,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Document.Delete",
"Document '{0}' has been deleted.",
getInstance().getName()
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -21,9 +21,11 @@
import org.jboss.seam.wiki.core.exception.InvalidWikiRequestException;
import org.jboss.seam.wiki.util.WikiUtil;
import org.jboss.seam.wiki.preferences.Preferences;
+import org.jboss.seam.international.StatusMessages;
-import static javax.faces.application.FacesMessage.SEVERITY_WARN;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.Date;
import java.util.List;
@@ -355,9 +357,9 @@
if (getWikiNodeDAO().isUniqueWikiname(getParentNode().getAreaNumber(), getInstance())) {
return true;
} else {
- getFacesMessages().addToControlFromResourceBundleOrDefault(
+ StatusMessages.instance().addToControlFromResourceBundleOrDefault(
"name",
- SEVERITY_WARN,
+ WARN,
"lacewiki.entity.DuplicateName",
"This name is already used, please change it"
);
@@ -385,8 +387,8 @@
}
protected void trashedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Node.Trashed",
"'{0}' has been moved into the trash.",
getInstance().getName()
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -17,7 +17,6 @@
import org.jboss.seam.annotations.AutoCreate;
import org.hibernate.validator.InvalidValue;
-import javax.faces.application.FacesMessage;
import java.util.*;
import java.io.Serializable;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -2,8 +2,8 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.log.Log;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.preferences.PreferenceValue;
@@ -12,7 +12,8 @@
import org.jboss.seam.wiki.preferences.metamodel.PreferenceRegistry;
import org.hibernate.validator.InvalidValue;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+
import java.util.*;
import java.io.Serializable;
@@ -23,7 +24,7 @@
@Logger static Log log;
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@In
PreferenceProvider preferenceProvider;
@@ -63,9 +64,9 @@
for (InvalidValue validationError : entry.getValue()) {
valid = false;
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"preferenceValidationErrors",
- FacesMessage.SEVERITY_WARN,
+ WARN,
"preferenceValueValidationFailed." + preferenceEntity.getEntityName() + "." + entry.getKey().getFieldName(),
preferenceEntity.getDescription() + " - '" + entry.getKey().getDescription() + "': " + validationError.getMessage());
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -7,16 +7,16 @@
package org.jboss.seam.wiki.core.action;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.international.StatusMessage;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.wiki.core.dao.TagDAO;
import org.jboss.seam.wiki.core.model.DisplayTagCount;
import org.jboss.seam.wiki.core.model.WikiDirectory;
-import javax.faces.application.FacesMessage;
import java.util.*;
import java.io.Serializable;
@@ -34,9 +34,6 @@
@In
private WikiDirectory wikiRoot;
- @In
- private FacesMessages facesMessages;
-
private SortedSet<String> tags = new TreeSet<String>();
private String newTag;
private List<DisplayTagCount> popularTags;
@@ -71,9 +68,9 @@
public void addNewTag() {
if (!newTag.matches("[\\w\\s]+")) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ StatusMessages.instance().addToControlFromResourceBundleOrDefault(
"newTag",
- FacesMessage.SEVERITY_WARN,
+ StatusMessage.Severity.WARN,
"lacewiki.msg.tagEdit.TagCantContainSpecialCharacters",
"Tag can only contain alphanumeric characters."
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UploadHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UploadHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UploadHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -3,6 +3,7 @@
import org.jboss.seam.ScopeType;
import org.jboss.seam.Component;
import org.jboss.seam.international.Messages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
@@ -13,7 +14,8 @@
import org.jboss.seam.wiki.core.upload.Uploader;
import org.jboss.seam.wiki.core.upload.editor.UploadEditor;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.Date;
import java.util.Map;
@@ -134,8 +136,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Upload.Persist",
"File '{0}' has been saved.",
getInstance().getName()
@@ -144,8 +146,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Upload.Update",
"File '{0}' has been updated.",
getInstance().getName()
@@ -154,8 +156,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.Upload.Delete",
"File '{0}' has been deleted.",
getInstance().getName()
@@ -163,8 +165,8 @@
}
protected void uploadUpdatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.uploadEdit.UpdateUpload",
"File '{0}' has been uploaded.",
uploader.getFilename()
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -15,9 +15,9 @@
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.faces.Renderer;
import org.jboss.seam.framework.EntityHome;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.action.prefs.UserManagementPreferences;
@@ -34,8 +34,10 @@
import org.jboss.seam.wiki.util.Hash;
import org.jboss.seam.wiki.util.WikiUtil;
-import javax.faces.application.FacesMessage;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
@@ -46,7 +48,7 @@
public class UserHome extends EntityHome<User> {
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@In
private UserDAO userDAO;
@@ -181,14 +183,14 @@
+ "/mailtemplates/confirmationRegistration.xhtml");
/* For debugging
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
getMessageKeyPrefix() + "confirmationEmailSent",
"Activiate account: /confirmRegistration.seam?activationCode=" + getInstance().getActivationCode());
*/
} catch (Exception ex) {
- facesMessages.add(FacesMessage.SEVERITY_ERROR, "Couldn't send confirmation email: " + ex.getMessage());
+ statusMessages.add(ERROR, "Couldn't send confirmation email: " + ex.getMessage());
return "error";
}
@@ -213,8 +215,8 @@
);
} else {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.userHome.WrongPortraitImageType",
"The file type '{0}' is not supported, the portrait was not updated.",
uploader.getUpload().getContentType()
@@ -321,8 +323,8 @@
getInstance().getProfile().setImage(null);
getInstance().getProfile().setImageContentType(null);
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.userHome.PortraitRemoved",
"The portrait has been removed, save to make changes permanent."
);
@@ -333,8 +335,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.User.Persist",
"User account '{0}' has been saved.",
getInstance().getUsername()
@@ -343,8 +345,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.User.Update",
"User account '{0}' has been updated.",
getInstance().getUsername()
@@ -353,8 +355,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.User.Delete",
"User account '{0}' has been deleted.",
getInstance().getUsername()
@@ -377,8 +379,8 @@
Authenticator auth = (Authenticator)Component.getInstance(Authenticator.class);
auth.createHomeDirectory(getInstance());
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.HomeDirectoryCreated",
"New home directory has been queued, save settings to commit."
);
@@ -389,9 +391,9 @@
public boolean passwordAndControlNotNull() {
if (getPassword() == null || getPassword().length() == 0 ||
getPasswordControl() == null || getPasswordControl().length() == 0) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"passwordControl",
- FacesMessage.SEVERITY_WARN,
+ WARN,
"lacewiki.msg.PasswordOrPasswordControlEmpty",
"Please enter your password twice!"
);
@@ -403,9 +405,9 @@
public boolean passwordMatchesRegex() {
Matcher matcher = Pattern.compile(prefs.getPasswordRegex()).matcher(getPassword());
if (!matcher.find()) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"password",
- FacesMessage.SEVERITY_WARN,
+ WARN,
"lacewiki.msg.PasswordDoesntMatchPattern",
"Password does not match the pattern: {0}",
prefs.getPasswordRegex()
@@ -417,9 +419,9 @@
public boolean passwordMatchesControl() {
if (password == null || passwordControl == null || !password.equals(passwordControl) ) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"passwordControl",
- FacesMessage.SEVERITY_WARN,
+ WARN,
"lacewiki.msg.PasswordControlNoMatch",
"The passwords don't match."
);
@@ -431,9 +433,9 @@
public boolean isUniqueUsername() {
User foundUser = userDAO.findUser(getInstance().getUsername(), false, false);
if ( foundUser != null && foundUser != getInstance() ) {
- facesMessages.addToControlFromResourceBundleOrDefault(
+ statusMessages.addToControlFromResourceBundleOrDefault(
"username",
- FacesMessage.SEVERITY_WARN,
+ WARN,
"lacewiki.msg.UsernameExists",
"A user with that name already exists."
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserPasswordReset.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserPasswordReset.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserPasswordReset.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -8,12 +8,12 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.faces.Renderer;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.core.action.prefs.UserManagementPreferences;
@@ -23,7 +23,10 @@
import org.jboss.seam.wiki.preferences.Preferences;
import org.jboss.seam.wiki.util.Hash;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import javax.persistence.EntityManager;
import java.io.Serializable;
import java.util.regex.Matcher;
@@ -60,7 +63,7 @@
Log log;
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@In("#{preferences.get('UserManagement')}")
UserManagementPreferences prefs;
@@ -102,8 +105,8 @@
User user = getUserForEmail(username, email);
if (user == null) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.resetPassword.NotValid",
"Your account and e-mail address information didn't match, please try again to reset your password."
);
@@ -127,14 +130,14 @@
+ Preferences.instance().get(WikiPreferences.class).getThemeName()
+ "/mailtemplates/resetPassword.xhtml");
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.resetPassword.EmailSent",
"A new activation code has been sent to your e-mail address, please read this e-mail to reset your password."
);
} catch (Exception ex) {
- facesMessages.add(FacesMessage.SEVERITY_WARN, "Couldn't send password reset email: " + ex.getMessage());
+ statusMessages.add(WARN, "Couldn't send password reset email: " + ex.getMessage());
}
}
@@ -179,8 +182,8 @@
Contexts.getSessionContext().remove(RESET_PASSWORD_OF_USER);
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.resetPassword.Complete",
"Successfully reset password of account '{0}', please log in.",
persistentUser.getUsername()
@@ -197,8 +200,8 @@
public boolean passwordAndControlNotNull() {
if (getPassword() == null || getPassword().length() == 0 ||
getPasswordControl() == null || getPasswordControl().length() == 0) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.PasswordOrPasswordControlEmpty",
"Please enter your password twice!"
);
@@ -210,8 +213,8 @@
public boolean passwordMatchesRegex() {
Matcher matcher = Pattern.compile(prefs.getPasswordRegex()).matcher(getPassword());
if (!matcher.find()) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.PasswordDoesntMatchPattern",
"Password does not match the pattern: {0}",
prefs.getPasswordRegex()
@@ -223,8 +226,8 @@
public boolean passwordMatchesControl() {
if (!password.equals(passwordControl) ) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.PasswordControlNoMatch",
"The passwords don't match."
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserSearch.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserSearch.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserSearch.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -3,11 +3,12 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.wiki.core.dao.UserDAO;
import org.jboss.seam.wiki.core.model.User;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.List;
import java.io.Serializable;
@@ -19,8 +20,8 @@
private UserDAO userDAO;
@In
- private FacesMessages facesMessages;
-
+ private StatusMessages statusMessages;
+
private User exampleUser;
private String orderByProperty;
private boolean orderDescending;
@@ -73,8 +74,8 @@
private void queryRowCount() {
rowCount = userDAO.getRowCountByExample(exampleUser, ignoreProperties);
if (rowCount == 0) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ statusMessages.addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.NoUserFound",
"No user with given attributes was found, please try again."
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiRequestResolver.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiRequestResolver.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiRequestResolver.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -10,7 +10,6 @@
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.*;
import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.web.Parameters;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
@@ -18,7 +17,8 @@
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.search.WikiSearch;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+import org.jboss.seam.international.StatusMessages;
/**
* Returns <tt>docDisplay</tt>, <tt>dirDisplay</tt>, or <tt>search</tt> for the resolved <tt>nodeId</tt>.
@@ -73,9 +73,6 @@
static Log log;
@In
- private FacesMessages facesMessages;
-
- @In
protected WikiNodeDAO wikiNodeDAO;
protected Long nodeId;
@@ -107,8 +104,8 @@
// Queue a message if requested (for message passing across session invalidations and conversations)
if (message != null) {
log.debug("wiki request contained message: " + message);
- facesMessages.addFromResourceBundle(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundle(
+ INFO,
message
);
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmentCache.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmentCache.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmentCache.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -87,20 +87,20 @@
}
}
- public void put(String region, Serializable key, String content) {
+ public void put(String region, String key, String content) {
if (!caches.containsKey(region))
throw new IllegalStateException("can't put into uninitialized cache region: " + region);
caches.get(region).put(new Element(key, content));
}
- public String get(String region, Serializable key) {
+ public String get(String region, String key) {
if (!caches.containsKey(region))
throw new IllegalStateException("can't get from uninitialized cache region: " + region);
Element result = caches.get(region).get(key);
return result != null ? (String)result.getValue() : null;
}
- public void remove(String region, Serializable key) {
+ public void remove(String region, String key) {
if (!caches.containsKey(region))
throw new IllegalStateException("can't remove from uninitialized cache region: " + region);
caches.get(region).remove(key);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptcha.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptcha.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptcha.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,26 +1,33 @@
package org.jboss.seam.wiki.core.captcha;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.captcha.Captcha;
-import org.jboss.seam.captcha.CaptchaResponse;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.log.Logging;
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
+import java.io.Serializable;
/**
* Some code borrowed here: http://www.jroller.com/mlconnor/entry/simple_captcha_jsp
+ *
+ * @author Christian Bauer
*/
@Name("org.jboss.seam.captcha.captcha")
@Scope(ScopeType.SESSION)
@Install(precedence = Install.APPLICATION)
-public class WikiCaptcha extends Captcha {
+ at BypassInterceptors
+public class WikiCaptcha extends Captcha implements Serializable {
- Color backgroundColor = new Color(0xf5,0xf5, 0xf5);
+ Log log = Logging.getLog(WikiCaptcha.class);
+
+ Color backgroundColor = new Color(0xf5, 0xf5, 0xf5);
Font textFont = new Font("Arial", Font.PLAIN, 25);
int charsToPrint = 6;
int width = 120;
@@ -28,24 +35,21 @@
int circlesToDraw = 4;
float horizMargin = 20.0f;
double rotationRange = 0.2;
- String elegibleChars = "ABDEFGHJKLMRSTUVWXYabdefhjkmnrstuvwxy23456789";
+ String elegibleChars = "ABDEFGHJKLMRSTUVWXYabdefhkmnrstuvwx245679";
char[] chars = elegibleChars.toCharArray();
@Override
- @Create
public void init() {
- super.init();
-
- StringBuffer finalString = new StringBuffer();
+ StringBuffer challengeString = new StringBuffer();
for (int i = 0; i < charsToPrint; i++) {
double randomValue = Math.random();
int randomIndex = (int) Math.round(randomValue * (chars.length - 1));
char characterToShow = chars[randomIndex];
- finalString.append(characterToShow);
+ challengeString.append(characterToShow);
}
- setChallenge(finalString.toString());
- setCorrectResponse(finalString.toString());
+ setChallenge(challengeString.toString());
+ log.debug("setting captcha challenge: " + getChallenge());
}
@Override
@@ -59,8 +63,8 @@
// Some obfuscation circles
for (int i = 0; i < circlesToDraw; i++) {
- int circleColor = 80 + (int)(Math.random() * 70);
- float circleLinewidth = 0.3f + (float)(Math.random());
+ int circleColor = 80 + (int) (Math.random() * 70);
+ float circleLinewidth = 0.3f + (float) (Math.random());
g.setColor(new Color(circleColor, circleColor, circleColor));
g.setStroke(new BasicStroke(circleLinewidth));
int circleRadius = (int) (Math.random() * height / 2.0);
@@ -78,7 +82,7 @@
float spacePerChar = spaceForLetters / (charsToPrint - 1.0f);
char[] allChars = getChallenge().toCharArray();
- for (int i = 0; i < allChars.length; i++ ) {
+ for (int i = 0; i < allChars.length; i++) {
char charToPrint = allChars[i];
int charWidth = fontMetrics.charWidth(charToPrint);
int charDim = Math.max(maxAdvance, fontHeight);
@@ -89,11 +93,11 @@
double angle = (Math.random() - 0.5) * rotationRange;
charGraphics.transform(AffineTransform.getRotateInstance(angle));
charGraphics.translate(-halfCharDim, -halfCharDim);
- int charColor = 60 + (int)(Math.random() * 90);
+ int charColor = 60 + (int) (Math.random() * 90);
charGraphics.setColor(new Color(charColor, charColor, charColor));
charGraphics.setFont(textFont);
int charX = (int) (0.5 * charDim - 0.5 * charWidth);
- charGraphics.drawString("" + charToPrint, charX, ((charDim - fontMetrics.getAscent())/2 + fontMetrics.getAscent()));
+ charGraphics.drawString("" + charToPrint, charX, ((charDim - fontMetrics.getAscent()) / 2 + fontMetrics.getAscent()));
float x = horizMargin + spacePerChar * (i) - charDim / 2.0f;
int y = ((height - charDim) / 2);
g.drawImage(charImage, (int) x, y, charDim, charDim, null, null);
@@ -106,8 +110,13 @@
}
@Override
- @CaptchaResponse(message = "#{messages['lacewiki.label.VerificationError']}")
+ // Remove this: @CaptchaResponse so we can use our own validator, even if someone by accident uses s:validate/All
public String getResponse() {
return super.getResponse();
}
+
+ public String getProtectedChallenge() {
+ return getChallenge();
+ }
+
}
Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaValidator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaValidator.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaValidator.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.seam.wiki.core.captcha;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.faces.Validator;
+import org.jboss.seam.log.Logging;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.core.Interpolator;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.validator.ValidatorException;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+/**
+ * I don't trust the built-in validator with @CaptchaResponse.
+ *
+ * First, it seems to call captcha.validateResponse() twice on a form submit.
+ * Second, sometimes my message vanishes and I get the default message ("incorrect response").
+ * I can't reproduce that, so I've given up.
+ *
+ * @author Christian Bauer
+ */
+ at Name("wikiCaptchaValidator")
+ at Validator(id = "wikiCaptchaValidator")
+public class WikiCaptchaValidator implements javax.faces.validator.Validator {
+
+ public static final String VERIFICATION_MSG_EXPR = "#{messages['lacewiki.label.VerificationError']}";
+
+ Log log = Logging.getLog(WikiCaptchaValidator.class);
+
+ public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException {
+ WikiCaptcha captcha = (WikiCaptcha)WikiCaptcha.instance();
+
+ String response = (String)o;
+ String challenge = captcha.getProtectedChallenge();
+
+ log.debug("verifying captcha response: " + response + " against challenge: " + challenge);
+ boolean valid = response != null && challenge != null && response.trim().equals(challenge);
+ if (!valid) {
+ log.debug("response is not valid, initializing with new challenge");
+ captcha.init();
+ FacesMessage msg = new FacesMessage();
+ msg.setSummary(Interpolator.instance().interpolate(VERIFICATION_MSG_EXPR));
+ msg.setSeverity(FacesMessage.SEVERITY_WARN);
+ throw new ValidatorException(msg);
+ }
+ log.debug("response is valid");
+ }
+}
+
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -8,9 +8,9 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.annotations.*;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.model.LinkProtocol;
import org.jboss.seam.wiki.core.model.WikiDirectory;
@@ -18,7 +18,8 @@
import org.jboss.seam.wiki.util.WikiUtil;
import org.jboss.seam.wiki.preferences.Preferences;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+
import javax.persistence.EntityManager;
import javax.persistence.EntityNotFoundException;
import javax.persistence.NoResultException;
@@ -121,8 +122,8 @@
.setHint("org.hibernate.cacheable", false)
.getSingleResult();
} catch (RuntimeException ex) {
- FacesMessages.instance().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.MemberHomedirectoryNotFound",
"Could not find member area with name {0} - your configuration is broken, please change it.",
memberAreaName
@@ -144,8 +145,8 @@
.setHint("org.hibernate.cacheable", false)
.getSingleResult();
} catch (RuntimeException ex) {
- FacesMessages.instance().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.TrashAreaNotFound",
"Could not find trash area with name {0} - your configuration is broken, please change it.",
trashAreaName
@@ -167,8 +168,8 @@
.setHint("org.hibernate.cacheable", false)
.getSingleResult();
} catch (RuntimeException ex) {
- FacesMessages.instance().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.HelpAreaNotFound",
"Could not find help area with name {0} - your configuration is broken, please change it.",
helpAreaName
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/PluginRegistry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/PluginRegistry.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/PluginRegistry.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -77,7 +77,7 @@
public WikiPluginMacro createWikiPluginMacro(WikiTextMacro wikiTextMacro) {
if (getMacroPluginModulesByMacroName().containsKey(wikiTextMacro.getName())) {
- log.debug("binding WikiTextMacro metadata to create WikiPluginMacro instance");
+ log.debug("binding WikiTextMacro metadata to create WikiPluginMacro instance: " + wikiTextMacro);
return new WikiPluginMacro( getMacroPluginModulesByMacroName().get(wikiTextMacro.getName()), wikiTextMacro );
} else {
return null;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/WikiPluginMacro.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/WikiPluginMacro.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/WikiPluginMacro.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -178,7 +178,7 @@
// JSF "oh let's map a non-existant request parameter to an empty string" genius behavior...
if (objects != null && objects.length > 0) {
for (Object o : objects) {
- if (Math.abs(o.hashCode()) != 0) {
+ if (o != null && Math.abs(o.hashCode()) != 0) {
log.debug("including hashCode of object: " + Math.abs(o.hashCode()));
builder.append( Math.abs(o.hashCode()) );
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearch.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -70,6 +70,8 @@
@Create
public void create() {
+ // TODO: Minor optimization, do this lazily when search.xhtml is rendered, not when the component is created (on every wiki page render)
+
// Initialize the value holders used for UI binding
for (SearchableEntity searchableEntity : searchRegistry.getSearchableEntities()) {
log.debug("preparing search value holder for entity: " + searchableEntity.getDescription());
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/MacroComponentHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/MacroComponentHandler.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/MacroComponentHandler.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,11 +1,11 @@
package org.jboss.seam.wiki.core.ui;
-import javax.faces.component.UIComponent;
-
import com.sun.facelets.FaceletContext;
import com.sun.facelets.tag.jsf.ComponentConfig;
import com.sun.facelets.tag.jsf.ComponentHandler;
+import javax.faces.component.UIComponent;
+
/**
* Chaining up the macros. Still a bit of a riddle, what Pete did here.
*
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -85,6 +85,7 @@
@Override
public void encodeBegin(FacesContext facesContext) throws IOException {
if (!isRendered() || getValue() == null) return;
+ log.debug(">>> ENCODE BEGIN of WikiFormattedText component");
// Use the WikiTextParser to resolve macros
WikiTextParser parser = new WikiTextParser((String) getValue(), true, true);
@@ -266,7 +267,7 @@
parser.setRenderer(new WikiFormattedTextRenderer());
try {
- log.debug(">>> rendering wiki text");
+ log.debug("parsing wiki text for HTML encoding");
parser.parse();
} catch (RecognitionException rex) {
@@ -279,6 +280,7 @@
facesContext.getResponseWriter().write(parser.toString());
+ log.debug("<<< ENCODE END of WikiFormattedText component");
}
protected void addMacroWithTemplate(WikiPluginMacro pluginMacro) {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -170,7 +170,7 @@
// Check if the wikiTextMacro actually is registered, we don't build unknown macros
WikiPluginMacro pluginMacro = PluginRegistry.instance().createWikiPluginMacro(wikiTextMacro);
if (pluginMacro == null) {
- log.warn("macro is not bound in plugin registry: " + wikiTextMacro);
+ log.info("macro is not bound in plugin registry: " + wikiTextMacro);
getPageMacroStack().pop();
return null;
}
Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheInvalidator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheInvalidator.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheInvalidator.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.seam.wiki.core.ui;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Observer;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.wiki.core.model.User;
+import org.jboss.seam.wiki.core.cache.PageFragmentCache;
+
+import java.util.List;
+
+/**
+ * Invalidates various page fragment caches, listening to core events.
+ *
+ * @author Christian Bauer
+ */
+ at Name("wikiPageFragmentCacheInvalidator")
+public class WikiPageFragmentCacheInvalidator {
+
+ public static final String CACHE_REGION_COMMENT = "wiki.Comment";
+ public static final String CACHE_REGION_SIGNATURE = "wiki.Signature";
+
+ @In
+ PageFragmentCache pageFragmentCache;
+
+ @Observer("User.updated")
+ public void invalidateUserSignature(User user) {
+ pageFragmentCache.remove(CACHE_REGION_SIGNATURE, user.getId().toString());
+ }
+}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheRenderer.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragmentCacheRenderer.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -40,7 +40,6 @@
@Override
protected void doEncodeChildren(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
UICache cache = (UICache) component;
- log.debug("ui cache is enabled: " + cache.isEnabled());
if (cache.isEnabled()) {
String region = cache.getRegion();
if (region == null) {
@@ -71,6 +70,7 @@
log.debug("cached rendering is disabled for: " + cache.getKey());
renderChildren(context, component);
}
+ log.debug("rendering (including all children) complete");
}
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -4,14 +4,15 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.log.Log;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.ui.validator.FormattedTextValidator;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+
import java.io.Serializable;
import javax.faces.validator.ValidatorException;
-import javax.faces.application.FacesMessage;
/**
* Utility class bound to Wiki text editor UI.
@@ -35,9 +36,9 @@
} catch (ValidatorException e) {
log.debug("exception during validation: " + e.getFacesMessage().getSummary());
// TODO: Needs to use resource bundle, how?
- FacesMessages.instance().addToControl(
+ StatusMessages.instance().addToControl(
textEditorId + "TextArea",
- FacesMessage.SEVERITY_WARN,
+ WARN,
e.getFacesMessage().getSummary()
);
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/Uploader.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/Uploader.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/Uploader.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -2,16 +2,18 @@
import net.sf.jmimemagic.Magic;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.core.model.WikiUpload;
import org.jboss.seam.wiki.core.upload.handler.UploadHandler;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+
import java.util.Map;
import java.io.Serializable;
@@ -35,7 +37,7 @@
Log log;
@In
- private FacesMessages facesMessages;
+ private StatusMessages statusMessages;
@In
Map<String, UploadType> uploadTypes;
@@ -156,8 +158,8 @@
? previousUploadType.getUploadHandler()
: uploadTypes.get(UploadTypes.GENERIC_UPLOAD_TYPE).getUploadHandler();
if (!previousUploadHandler.getClass().equals(newupUploadHandler.getClass())) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ statusMessages.addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.upload.HandlersDontMatch",
"Wrong file type uploaded, please try again with a different file."
);
@@ -179,8 +181,8 @@
public boolean validateData() {
if (data == null || data.length == 0) {
- facesMessages.addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_WARN,
+ statusMessages.addFromResourceBundleOrDefault(
+ WARN,
"lacewiki.msg.upload.NoData",
"Please select a file to upload"
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/ZipImporter.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/ZipImporter.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/ZipImporter.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -15,7 +15,9 @@
import org.hibernate.validator.InvalidValue;
import org.hibernate.validator.ClassValidator;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import javax.persistence.EntityManager;
import java.util.*;
import java.util.zip.ZipEntry;
@@ -113,8 +115,8 @@
protected boolean handleDirectory(EntityManager em, WikiUpload zipFile, ZipEntry zipEntry) {
log.debug("skipping directory: " + zipEntry.getName());
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ getStatusMessages().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.ImportSkippingDirectory",
"Skipping directory '{0}', importing not supported...",
zipEntry.getName()
@@ -134,8 +136,8 @@
return true;
} else {
log.debug("new name is not unique and invalid");
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ getStatusMessages().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.ImportDuplicateName",
"Skipping file '{0}', name is already used in this area...",
newWikiname
@@ -209,8 +211,8 @@
if (invalidValues != null && invalidValues.length > 0) {
log.debug("new node is invalid: " + newNode);
for (InvalidValue invalidValue : invalidValues) {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ getStatusMessages().addFromResourceBundleOrDefault(
+ ERROR,
"lacewiki.msg.ImportInvalidNode",
"Skipping entry '{0}', invalid: {1}",
newNode.getName(),
@@ -224,8 +226,8 @@
log.debug("persisting newly imported node: " + newNode);
newNode.setParent(zipFile.getParent());
em.persist(newNode);
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ getStatusMessages().addFromResourceBundleOrDefault(
+ INFO,
"lacewiki.msg.ImportOk",
"Created file '{0}' in current directory.",
newNode.getName()
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/blosxom/BlosxomImporter.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/blosxom/BlosxomImporter.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/blosxom/BlosxomImporter.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -10,7 +10,8 @@
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.util.WikiUtil;
-import javax.faces.application.FacesMessage;
+import static org.jboss.seam.international.StatusMessage.Severity.ERROR;
+
import javax.persistence.EntityManager;
import java.util.Comparator;
import java.util.Date;
@@ -48,8 +49,8 @@
log.debug("mime type of zip entry is: " + mimeType);
} catch (Exception ex) {}
if (!"text/plain".equals(mimeType)) {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ statusMessages.addFromResourceBundleOrDefault(
+ ERROR,
"incorrectMimeType",
"Skipping file '" + zipEntry.getName() + "', incorrect mime type " + mimeType + " , expected text/plain"
);
@@ -151,8 +152,8 @@
InvalidValue[] invalidValues = commentValidator.getInvalidValues(newComment);
if (invalidValues.length >0) {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_ERROR,
+ getStatusMessages().addFromResourceBundleOrDefault(
+ ERROR,
"commentFailedValidation",
"Skipping file '" + zipEntry.getName() + "', comment failed validation"
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/AbstractImporter.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/AbstractImporter.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/AbstractImporter.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -3,7 +3,7 @@
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.wiki.core.model.WikiUpload;
import javax.persistence.EntityManager;
@@ -17,8 +17,8 @@
importerComponents.add(this);
}
- protected FacesMessages getFacesMessages() {
- return FacesMessages.instance();
+ protected StatusMessages getStatusMessages() {
+ return StatusMessages.instance();
}
public abstract boolean handleImport(EntityManager em, WikiUpload file);
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/Basic.plugin.xml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/Basic.plugin.xml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/Basic.plugin.xml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -25,6 +25,14 @@
<applicable-to content="true" header="true" footer="true"/>
</macro>
+ <macro key="hideBreadcrumb" name="hideBreadcrumb">
+ <skins>
+ <skin name="d"/>
+ <skin name="m"/>
+ </skins>
+ <applicable-to content="true" header="true" footer="true"/>
+ </macro>
+
<macro key="hideComments" name="hideComments">
<skins>
<skin name="d"/>
@@ -142,12 +150,15 @@
<skin name="d"/>
<skin name="m"/>
</skins>
+
+ <!-- TODO: Re-enable after we switched from s:graphicImage to prerendered user portraits
<cache-regions>
<cache-region name="UserProfile">
<invalidation-event name="User.updated"/>
<invalidation-event name="User.removed"/>
</cache-region>
</cache-regions>
+ -->
</macro>
</plugin>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/i18n/messages_basic_en.properties
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/i18n/messages_basic_en.properties 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/i18n/messages_basic_en.properties 2008-05-21 07:38:53 UTC (rev 8242)
@@ -7,6 +7,9 @@
basic.hideControls.label=Hide Controls
basic.hideControls.description=Do not display page controls
+basic.hideBreadcrumb.label=Hide Breadcrumb
+basic.hideBreadcrumb.description=Do not display page breadcrumb
+
basic.hideComments.label=Hide Comments
basic.hideComments.description=Do not display comments of document (even if comments are enabled)
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/templates/userProfile.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/templates/userProfile.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/basic/templates/userProfile.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -7,11 +7,12 @@
xmlns:wiki="http://jboss.com/products/seam/wiki"
xmlns:s="http://jboss.com/products/seam/taglib">
+ <!-- TODO: see Basic.plugin.xml
<s:cache region="#{currentMacro.getCacheRegion('UserProfile')}"
key="#{currentMacro.getCacheKey(currentDocument.createdBy.id)}">
+ -->
<ui:include src="/includes/userInfo.xhtml">
<ui:param name="user" value="#{currentDocument.createdBy}"/>
</ui:include>
- </s:cache>
</wiki:plugin>
\ No newline at end of file
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/Blog.plugin.xml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/Blog.plugin.xml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/Blog.plugin.xml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -51,5 +51,13 @@
</cache-regions>
</macro>
+ <macro key="entry" name="blogEntry">
+ <applicable-to header="true"/>
+ <skins>
+ <skin name="d"/>
+ <skin name="m"/>
+ </skins>
+ </macro>
+
</plugin>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/i18n/messages_blog_en.properties
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/i18n/messages_blog_en.properties 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/blog/i18n/messages_blog_en.properties 2008-05-21 07:38:53 UTC (rev 8242)
@@ -35,3 +35,5 @@
blog.recentEntries.preferences.property.recentEntriesTruncateTitle=Truncate recent entries title after characters
blog.recentEntries.preferences.property.recentEntriesSubscribeIcon=Show feed subscribe icon on recent entries
+blog.entry.label=Blog Entry
+blog.entry.description=Turns a WikiDocument into a blog entry
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -4,11 +4,13 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.core.Events;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.wiki.core.action.DocumentHome;
import org.jboss.seam.wiki.core.model.WikiDocument;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
@Name("faqQuestionHome")
@Scope(ScopeType.CONVERSATION)
public class FaqQuestionHome extends DocumentHome {
@@ -67,8 +69,8 @@
/* -------------------------- Messages ------------------------------ */
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"fb.faqBrowser.msg.Question.Persist",
"Question '{0}' has been saved.",
getInstance().getName()
@@ -76,8 +78,8 @@
}
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"fb.faqBrowser.msg.Question.Update",
"Question '{0}' has been updated.",
getInstance().getName()
@@ -85,8 +87,8 @@
}
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"fb.faqBrowser.msg.Question.Delete",
"Question '{0}' has been deleted.",
getInstance().getName()
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/Forum.plugin.xml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/Forum.plugin.xml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/Forum.plugin.xml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -68,6 +68,17 @@
</render-options>
</macro>
+ <macro key="notifyReplies" name="forumNotifyReplies">
+ <applicable-to header="true"/>
+ <skins>
+ <skin name="d"/>
+ <skin name="m"/>
+ </skins>
+ <render-options>
+ <singleton/>
+ </render-options>
+ </macro>
+
<macro key="replies" name="forumReplies">
<applicable-to footer="true"/>
<skins>
@@ -85,14 +96,6 @@
<skin name="d"/>
<skin name="m"/>
</skins>
- <cache-regions>
- <cache-region name="TopPostersList">
- <invalidation-event name="Node.removed"/>
- <invalidation-event name="User.removed"/>
- <invalidation-event name="User.updated"/>
- <invalidation-event name="Comment.rated"/>
- </cache-region>
- </cache-regions>
</macro>
</plugin>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumDAO.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumDAO.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumDAO.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -32,6 +32,15 @@
.list();
}
+ public boolean findForumsAvailability(WikiDirectory forumsDirectory) {
+ Long forumsCount = (Long)
+ getSession(true).getNamedQuery("forumsCount")
+ .setParameter("parentDir", forumsDirectory)
+ .setComment("Finding all forums")
+ .uniqueResult();
+ return forumsCount > 0l;
+ }
+
public Map<Long, ForumInfo> findForums(WikiDirectory forumsDirectory) {
final Map<Long, ForumInfo> forumInfoMap = new LinkedHashMap<Long, ForumInfo>();
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumHome.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,14 +1,15 @@
package org.jboss.seam.wiki.plugin.forum;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.annotations.*;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.core.Events;
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.core.action.DirectoryHome;
-import javax.faces.application.FacesMessage;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import java.util.List;
@Name("forumHome")
@@ -101,8 +102,8 @@
@Override
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Forum.Persist",
"Forum '{0}' has been saved.",
getInstance().getName()
@@ -111,8 +112,8 @@
@Override
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Forum.Update",
"Forum '{0}' has been updated.",
getInstance().getName()
@@ -121,8 +122,8 @@
@Override
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Forum.Delete",
"Forum '{0}' has been deleted.",
getInstance().getName()
@@ -131,16 +132,16 @@
@Override
protected void feedCreatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Feed.Create",
"Created syndication feed for this forum");
}
@Override
protected void feedRemovedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- FacesMessage.SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Feed.Remove",
"Removed syndication feed of this forum");
}
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -5,6 +5,17 @@
<hibernate-mapping>
+ <query name="forumsCount">
+ select count(d.id)
+ from
+ WikiDirectory d fetch all properties,
+ WikiMenuItem m
+ where
+ d = m.directory
+ and d.parent = :parentDir
+ order by m.displayPosition asc
+ </query>
+
<query name="forums">
select d.id, d
from
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQuery.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQuery.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ForumQuery.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -57,6 +57,20 @@
/* ####################### FORUMS ########################## */
+ Boolean forumsAvailable;
+ public boolean isForumsAvailable() {
+ if (forumsAvailable == null) loadForumsAvailability();
+ return forumsAvailable;
+ }
+
+ @Observer(value = {"Forum.forumListRefresh", "PersistenceContext.filterReset"}, create = false)
+ public void loadForumsAvailability() {
+ // The whole point of this is so that we can use it as a cheaper query in the mess that is the rendered="true/false"
+ // attribute evaluation in JSF. It is called completely randomly, at any phase in the request, on any component in
+ // the tree. It needs to be a) as cheap as possible and b) free from dependencies.
+ forumsAvailable = forumDAO.findForumsAvailability(currentDirectory);
+ }
+
List<ForumInfo> forums;
public List<ForumInfo> getForums() {
if (forums == null) loadForums();
@@ -65,7 +79,7 @@
@Observer(value = {"Forum.forumListRefresh", "PersistenceContext.filterReset"}, create = false)
public void loadForums() {
-
+ log.debug("loading forums");
Map<Long, ForumInfo> forumInfo = forumDAO.findForums(currentDirectory);
// Find unread postings
@@ -90,23 +104,31 @@
/* ####################### TOPICS ########################## */
+ private Long numOfTopics;
private List<TopicInfo> topics;
+ public boolean isTopicsAvailable() {
+ if (numOfTopics == null) countTopics();
+ return numOfTopics > 0;
+ }
+
public List<TopicInfo> getTopics() {
- if (topics == null) loadTopics();
+ if (isTopicsAvailable() && topics == null) {
+ loadTopics();
+ } else if (!isTopicsAvailable()) {
+ topics = Collections.emptyList();
+ }
return topics;
}
- @Observer(value = {"Forum.topicListRefresh", "PersistenceContext.filterReset"}, create = false)
+ public void countTopics() {
+ log.debug("counting forum topics");
+ numOfTopics = forumDAO.findTopicCount(currentDirectory);
+ pager.setNumOfRecords(numOfTopics);
+ }
+
public void loadTopics() {
log.debug("loading forum topics");
- pager.setNumOfRecords( forumDAO.findTopicCount(currentDirectory) );
-
- if (pager.getNumOfRecords() == 0) {
- topics = Collections.emptyList();
- return;
- }
-
Map<Long, TopicInfo> topicInfo = forumDAO.findTopics(currentDirectory, pager.getNextRecord(), pager.getPageSize());
if (!currentUser.isAdmin() && !currentUser.isGuest()) {
@@ -132,9 +154,15 @@
topics.addAll(topicInfo.values());
}
+ @Observer(value = {"Forum.topicListRefresh", "PersistenceContext.filterReset"}, create = false)
+ public void refreshTopics() {
+ countTopics();
+ loadTopics();
+ }
+
/* ####################### POSTERS ########################## */
- public static final String MACRO_ATTR_TOPPOSTERS = "forumTopPostersList";
+ public static final String MACRO_ATTR_TOPPOSTERS = "forumTopPostersList";
public List<User> getTopPosters(WikiPluginMacro macro) {
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -2,23 +2,26 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.*;
import org.jboss.seam.faces.Renderer;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.security.Identity;
-import org.jboss.seam.annotations.*;
import org.jboss.seam.wiki.core.action.CommentHome;
-import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.model.WikiNode;
-import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.ui.WikiRedirect;
+import org.jboss.seam.wiki.core.plugin.PluginRegistry;
import org.jboss.seam.wiki.preferences.Preferences;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
@Name("replyHome")
@Scope(ScopeType.CONVERSATION)
public class ReplyHome extends CommentHome {
+ public static final String REPLY_NOTIFY_TEMPLATE = "/mailtemplates/forumNotifyReply.xhtml";
+ public static final String REPLY_NOTIFY_LIST_TEMPLATE = "/mailtemplates/forumNotifyReplyToList.xhtml";
+
@Override
public void create() {
super.create();
@@ -36,21 +39,16 @@
String notificationMailingList =
Preferences.instance().get(ForumPreferences.class).getNotificationMailingList();
if (notificationMailingList != null) {
- getLog().debug("sending reply notification e-mail to forum list");
- renderer.render("/themes/"
- + Preferences.instance().get(WikiPreferences.class).getThemeName()
- + "/mailtemplates/forumNotifyReplyToList.xhtml");
+ getLog().debug("sending reply notification e-mail to forum list: " + notificationMailingList);
+ renderer.render(PluginRegistry.instance().getPlugin("forum").getPackageThemePath()+REPLY_NOTIFY_LIST_TEMPLATE);
}
// Notify original poster
if (documentHome.getInstance().macroPresent(TopicHome.TOPIC_NOTIFY_ME_MACRO)
- && !documentHome.getInstance().getCreatedBy().getUsername().equals(
- getInstance().getCreatedBy().getUsername()
- )) {
+ && !documentHome.getInstance().getCreatedBy().getUsername().equals(getInstance().getCreatedBy().getUsername())
+ ) {
getLog().debug("sending reply notification e-mail to original poster");
- renderer.render("/themes/"
- + Preferences.instance().get(WikiPreferences.class).getThemeName()
- + "/mailtemplates/forumNotifyReply.xhtml");
+ renderer.render(PluginRegistry.instance().getPlugin("forum").getPackageThemePath()+REPLY_NOTIFY_TEMPLATE);
}
}
@@ -109,8 +107,8 @@
/* -------------------------- Messages ------------------------------ */
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Reply.Persist",
"Reply '{0}' has been saved.",
getInstance().getSubject()
@@ -118,8 +116,8 @@
}
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Reply.Update",
"Reply '{0}' has been updated.",
getInstance().getSubject()
@@ -127,8 +125,8 @@
}
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Reply.Delete",
"Reply '{0}' has been deleted.",
getInstance().getSubject()
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2008-05-21 07:38:53 UTC (rev 8242)
@@ -6,24 +6,27 @@
import org.jboss.seam.core.Conversation;
import org.jboss.seam.core.Events;
import org.jboss.seam.faces.Renderer;
+import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.ui.validator.FormattedTextValidator;
import org.jboss.seam.wiki.core.action.DocumentHome;
-import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiTextMacro;
import org.jboss.seam.wiki.core.ui.WikiRedirect;
+import org.jboss.seam.wiki.core.plugin.PluginRegistry;
import org.jboss.seam.wiki.preferences.Preferences;
-import javax.faces.application.FacesMessage;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import static org.jboss.seam.international.StatusMessage.Severity.WARN;
+import static org.jboss.seam.international.StatusMessage.Severity.INFO;
+
import javax.faces.validator.ValidatorException;
@Name("topicHome")
@Scope(ScopeType.CONVERSATION)
public class TopicHome extends DocumentHome {
- public static final String TOPIC_NOTIFY_ME_MACRO = "forumNotifyReplies";
+ public static final String TOPIC_NOTIFY_ME_MACRO = "forumNotifyReplies";
+ public static final String TOPIC_NOTIFY_LIST_TEMPLATE = "/mailtemplates/forumNotifyTopicToList.xhtml";
@In
WikiDirectory currentDirectory;
@@ -31,9 +34,6 @@
@In
WikiDocument currentDocument;
- @In(create = true)
- private Renderer renderer;
-
private boolean showForm = false;
private boolean sticky = false;
private boolean notifyReplies = false;
@@ -74,9 +74,9 @@
validator.validate(null, null, getInstance().getContent());
} catch (ValidatorException e) {
// TODO: Needs to use resource bundle, how?
- getFacesMessages().addToControl(
+ StatusMessages.instance().addToControl(
"topicTextArea",
- FacesMessage.SEVERITY_WARN,
+ WARN,
e.getFacesMessage().getSummary()
);
return false;
@@ -109,10 +109,10 @@
String notificationMailingList =
Preferences.instance().get(ForumPreferences.class).getNotificationMailingList();
if (notificationMailingList != null) {
- getLog().debug("sending topic notification e-mail to forum list");
- renderer.render("/themes/"
- + Preferences.instance().get(WikiPreferences.class).getThemeName()
- + "/mailtemplates/forumNotifyTopicToList.xhtml");
+ getLog().debug("sending topic notification e-mail to forum list: " + notificationMailingList);
+ Renderer.instance().render(
+ PluginRegistry.instance().getPlugin("forum").getPackageThemePath()+TOPIC_NOTIFY_LIST_TEMPLATE
+ );
}
endConversation();
@@ -139,8 +139,8 @@
/* -------------------------- Messages ------------------------------ */
protected void createdMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Topic.Persist",
"Topic '{0}' has been saved.",
getInstance().getName()
@@ -148,8 +148,8 @@
}
protected void updatedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Topic.Update",
"Topic '{0}' has been updated.",
getInstance().getName()
@@ -157,8 +157,8 @@
}
protected void deletedMessage() {
- getFacesMessages().addFromResourceBundleOrDefault(
- SEVERITY_INFO,
+ StatusMessages.instance().addFromResourceBundleOrDefault(
+ INFO,
"forum.msg.Topic.Delete",
"Topic '{0}' has been deleted.",
getInstance().getName()
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/i18n/messages_forum_en.properties
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/i18n/messages_forum_en.properties 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/i18n/messages_forum_en.properties 2008-05-21 07:38:53 UTC (rev 8242)
@@ -18,6 +18,9 @@
forum.stickyPosting.label=Forum Sticky Posting
forum.stickyPosting.description=Turns a WikiDocument into a sticky forum posting
+forum.notifyReplies.label=Forum Reply Notification
+forum.notifyReplies.description=Send an e-mail to the owner of the posting if a reply is posted
+
forum.replies.label=Forum Replies
forum.replies.description=Shows wiki comments as posting replies thread
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumListTable.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumListTable.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumListTable.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -12,9 +12,9 @@
region="#{currentMacro.getCacheRegion('ForumList')}"
key="#{currentMacro.cacheKey}">
-<div class="box">
-<h:form id="forumListTableForm" rendered="#{not empty forumQuery.forums}">
+<s:div styleClass="box" rendered="#{forumQuery.forumsAvailable}">
+<h:form id="forumListTableForm">
<h:dataTable id="forumListTable"
var="f"
value="#{forumQuery.forums}"
@@ -90,8 +90,6 @@
<ui:param name="name" value="#{f.lastTopic.name}"/>
<ui:param name="createdOn" value="#{f.lastTopic.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastTopic.createdBy}"/>
- <ui:param name="popupId" value="lastTopic#{f.lastTopic.id}"/>
- <ui:param name="rightOffset" value="12%"/>
</ui:include>
</s:fragment>
<s:fragment rendered="#{empty f.lastTopic}">
@@ -107,8 +105,6 @@
<ui:param name="name" value="#{f.lastTopic.name}"/>
<ui:param name="createdOn" value="#{f.lastTopic.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastTopic.createdBy}"/>
- <ui:param name="popupId" value="latestPost#{f.lastTopic.id}"/>
- <ui:param name="rightOffset" value="1%"/>
</ui:include>
</s:fragment>
<s:fragment rendered="#{not empty f.lastComment and not f.lastPostLastTopic}">
@@ -117,8 +113,6 @@
<ui:param name="name" value="#{f.lastComment.subject}"/>
<ui:param name="createdOn" value="#{f.lastComment.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastComment.createdBy}"/>
- <ui:param name="popupId" value="latestPost#{f.lastComment.id}"/>
- <ui:param name="rightOffset" value="1%"/>
</ui:include>
</s:fragment>
<s:fragment rendered="#{empty f.lastComment and not f.lastPostLastTopic}">
@@ -138,9 +132,9 @@
</h:dataTable>
</h:form>
-</div>
+</s:div>
-<s:div rendered="#{empty forumQuery.forums}" styleClass="box">
+<s:div styleClass="box" rendered="#{not forumQuery.forumsAvailable}">
<h:outputText value="#{messages['forum.msg.NoForumsFound']}"/>
</s:div>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumReplies.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumReplies.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumReplies.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -16,14 +16,16 @@
<s:div styleClass="commentSignatureSeparator">
<h:outputText value=" "/>
</s:div>
- <wiki:formattedText value="#{currentDocument.createdBy.profile.signature}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
+ <s:cache region="wiki.Signature" key="#{currentDocument.createdBy.id}">
+ <wiki:formattedText value="#{currentDocument.createdBy.profile.signature}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+ </s:cache>
</s:div>
<s:div rendered="#{not empty currentDocument.tags}"
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumTopPosters.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumTopPosters.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/forumTopPosters.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -8,76 +8,71 @@
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
xmlns:s="http://jboss.com/products/seam/taglib">
-<s:cache key="#{currentMacro.cacheKey}"
- region="#{currentMacro.getCacheRegion('TopPostersList')}">
+<s:div styleClass="forumTopPosters box">
- <s:div styleClass="forumTopPosters box">
+ <s:div styleClass="boxHeader">
+ <h:outputText value="#{preferences.get('ForumTopPosters', currentMacro).title}"/>
+ </s:div>
- <s:div styleClass="boxHeader">
- <h:outputText value="#{preferences.get('ForumTopPosters', currentMacro).title}"/>
- </s:div>
+ <div class="boxContent">
- <div class="boxContent">
+ <h:dataTable value="#{forumQuery.getTopPosters(currentMacro)}" var="p"
+ rendered="#{not empty forumQuery.getTopPosters(currentMacro) and forumQuery.getTopPosters(currentMacro).size() > 0}"
+ styleClass="datatable forumTopPostersTable"
+ headerClass="alignCenter"
+ columnClasses="fifteenPercentColumn alignCenter indexColumn,
+ defaultColumn alignCenter nameColumn,
+ twentyPercentColumn alignCenter joinedOnColumn,
+ twentyPercentColumn alignCenter ratingPointsColumn"
+ rowClasses="rowOdd, rowEven"
+ cellpadding="0" cellspacing="0" border="0">
- <h:dataTable value="#{forumQuery.getTopPosters(currentMacro)}" var="p"
- rendered="#{not empty forumQuery.getTopPosters(currentMacro) and forumQuery.getTopPosters(currentMacro).size() > 0}"
- styleClass="datatable forumTopPostersTable"
- headerClass="alignCenter"
- columnClasses="fifteenPercentColumn alignCenter indexColumn,
- defaultColumn alignCenter nameColumn,
- twentyPercentColumn alignCenter joinedOnColumn,
- twentyPercentColumn alignCenter ratingPointsColumn"
- rowClasses="rowOdd, rowEven"
- cellpadding="0" cellspacing="0" border="0">
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{messages['forum.topPosters.label.Position']}"/>
+ </f:facet>
+ <h:outputText value="#{forumQuery.getTopPosters(currentMacro).indexOf(p)+1}."/>
+ </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{messages['forum.topPosters.label.Position']}"/>
- </f:facet>
- <h:outputText value="#{forumQuery.getTopPosters(currentMacro).indexOf(p)+1}."/>
- </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{messages['forum.topPosters.label.User']}"/>
+ </f:facet>
+ <ui:include src="/includes/userInfoLink.xhtml">
+ <ui:param name="user" value="#{p}"/>
+ </ui:include>
+ </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{messages['forum.topPosters.label.User']}"/>
- </f:facet>
- <ui:include src="/includes/userInfoLink.xhtml">
- <ui:param name="user" value="#{p}"/>
- </ui:include>
- </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{messages['forum.topPosters.label.JoinedOn']}"/>
+ </f:facet>
+ <h:outputText value="#{p.createdOn}">
+ <f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
+ </h:outputText>
+ <h:outputText value=" #{preferences.get('Wiki').timeZone}"/>
+ </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{messages['forum.topPosters.label.JoinedOn']}"/>
- </f:facet>
- <h:outputText value="#{p.createdOn}">
- <f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
- </h:outputText>
- <h:outputText value=" #{preferences.get('Wiki').timeZone}"/>
- </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{messages['forum.topPosters.label.RatingPoints']}"/>
+ </f:facet>
+ <h:outputText value="#{p.ratingPoints}"/>
+ </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{messages['forum.topPosters.label.RatingPoints']}"/>
- </f:facet>
- <h:outputText value="#{p.ratingPoints}"/>
- </h:column>
+ </h:dataTable>
- </h:dataTable>
+ </div>
- </div>
-
- <s:div styleClass="forumTopPostersEmpty"
- rendered="#{empty forumQuery.getTopPosters(currentMacro) or forumQuery.getTopPosters(currentMacro).size() == 0}">
- <h:outputText value="#{messages['forum.topPosterslabel.NoPostersFound']}"/>
- </s:div>
-
- <div class="boxFooter"/>
-
+ <s:div styleClass="forumTopPostersEmpty"
+ rendered="#{empty forumQuery.getTopPosters(currentMacro) or forumQuery.getTopPosters(currentMacro).size() == 0}">
+ <h:outputText value="#{messages['forum.topPosters.label.NoPostersFound']}"/>
</s:div>
-</s:cache>
+ <div class="boxFooter"/>
+</s:div>
+
</wiki:plugin>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicPager.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicPager.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicPager.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -6,7 +6,7 @@
xmlns:wiki="http://jboss.com/products/seam/wiki"
xmlns:s="http://jboss.com/products/seam/taglib">
- <h:panelGrid columns="5" rendered="#{not empty forumQuery.topics}"
+ <h:panelGrid columns="5"
styleClass="topicPagerTable"
columnClasses="topicPagerColumn, topicPagerColumn, topicPagerTextColumn, topicPagerColumn, topicPagerColumn, "
cellpadding="0" cellspacing="0" border="0">
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicTable.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicTable.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/templates/topicTable.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -8,19 +8,18 @@
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
xmlns:wiki="http://jboss.com/products/seam/wiki">
-<s:cache rendered="#{not topicHome.showForm}"
+<s:cache rendered="#{not topicHome.showForm and forumQuery.topicsAvailable}"
enabled="#{not identity.loggedIn}"
region="#{currentMacro.getCacheRegion('TopicList')}"
key="#{currentMacro.getCacheKey(param.page)}">
<ui:include src="topicPager.xhtml"/>
- <div class="box">
+ <s:div styleClass="box">
<h:dataTable id="topicTable"
var="t"
value="#{forumQuery.topics}"
- rendered="#{not empty forumQuery.topics}"
styleClass="datatable topLeftBottomBorder topicTable"
headerClass="regularHeader rightBorder alignCenter smallFont"
columnClasses="onePercentColumn rightBorder alignCenter smallFont, defaultColumn rightBorder alignLeft wrapWhitespace,
@@ -92,13 +91,14 @@
</h:dataTable>
- </div>
+ </s:div>
- <s:div rendered="#{empty forumQuery.topics}" styleClass="box">
+ <ui:include src="topicPager.xhtml"/>
+
+ <s:div rendered="#{not forumQuery.topicsAvailable}" styleClass="box">
No topics in this forum.
</s:div>
- <ui:include src="topicPager.xhtml"/>
</s:cache>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReply.xhtml (from rev 8229, trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReply.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReply.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,53 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki">
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+ <m:from name="Seam Wiki" address="do-not-reply at jboss.com" />
+ <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
+ <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
+ <m:body>
+ <html>
+ <body>
+ <p>Hello #{currentDocument.createdBy.firstname},</p>
+
+ <p>
+ you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">response</a>
+ to <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">your posting</a> on the
+ LaceWiki forum, posted by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Hello #{currentDocument.createdBy.firstname},
+
+you received a response to your posting on the LaceWiki forum.
+
+From: #{replyHome.instance.createdBy.fullname}
+Subject:#{replyHome.instance.subject}
+
+Follow this link to read and reply:
+
+#{wikiURLRenderer.renderURL(replyHome.instance, true)}
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Property changes on: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReply.xhtml
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReplyToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplyToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReplyToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,52 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
+
+ <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+ <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+
+ <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ The <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">following reply</a>
+ was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">#{currentDocument.name}</a>
+ by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+ <br/>
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyTopicToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyTopicToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyTopicToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/default/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,46 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
+
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+ <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>[SeamFramework.org Forums] #{topicHome.instance.name}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ This <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">new topic</a> was posted
+ by #{topicHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{topicHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">Click here</a> to reply...
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml (from rev 8229, trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,53 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki">
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+ <m:from name="Seam Wiki" address="do-not-reply at jboss.com" />
+ <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
+ <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
+ <m:body>
+ <html>
+ <body>
+ <p>Hello #{currentDocument.createdBy.firstname},</p>
+
+ <p>
+ you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">response</a>
+ to <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">your posting</a> on the
+ LaceWiki forum, posted by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Hello #{currentDocument.createdBy.firstname},
+
+you received a response to your posting on the LaceWiki forum.
+
+From: #{replyHome.instance.createdBy.fullname}
+Subject:#{replyHome.instance.subject}
+
+Follow this link to read and reply:
+
+#{wikiURLRenderer.renderURL(replyHome.instance, true)}
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,52 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
+
+ <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+ <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+
+ <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ The <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">following reply</a>
+ was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">#{currentDocument.name}</a>
+ by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+ <br/>
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,46 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
+
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+ <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>[SeamFramework.org Forums] #{topicHome.instance.name}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ This <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">new topic</a> was posted
+ by #{topicHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{topicHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">Click here</a> to reply...
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml (from rev 8229, trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,53 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki">
+ <m:header name="X-Sent-From" value="SeamFramework.org" />
+ <m:header name="Precedence" value="list"/>
+ <m:from name="SeamFramework.org" address="do-not-reply at jboss.com" />
+ <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
+ <m:subject>[SeamFramework.org Forums] #{replyHome.instance.subject}</m:subject>
+ <m:body>
+ <html>
+ <body>
+ <p>Hello #{currentDocument.createdBy.firstname},</p>
+
+ <p>
+ you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">response</a>
+ to <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">your posting</a> on the
+ Seam community forum, posted by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Hello #{currentDocument.createdBy.firstname},
+
+you received a response to your posting on the Seam community forum.
+
+From: #{replyHome.instance.createdBy.fullname}
+Subject:#{replyHome.instance.subject}
+
+Follow this link to read and reply:
+
+#{wikiURLRenderer.renderURL(replyHome.instance, true)}
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Property changes on: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,51 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
+
+ <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+ <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
+
+ <m:header name="X-Sent-From" value="SeamFramework.org" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+ <m:to name="SeamFramework.org Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>#{replyHome.instance.subject}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ The <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">following reply</a>
+ was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument, true)}">#{currentDocument.name}</a>
+ by #{replyHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{replyHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(replyHome.instance, true)}">Click here</a> to reply...
+ <br/>
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Copied: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml (from rev 8229, trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml)
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml (rev 0)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/forum/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -0,0 +1,47 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
+
+ <m:header name="X-Sent-From" value="SeamFramework.org" />
+ <m:header name="Precedence" value="list"/>
+
+ <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
+ <m:to name="SeamFramework.org Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
+
+ <m:subject>#{topicHome.instance.name}</m:subject>
+
+ <m:body>
+ <html>
+ <body>
+ <p>
+ This <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">new topic</a> was posted
+ by #{topicHome.instance.createdBy.fullname}:
+ </p>
+
+ <hr/>
+
+ <wiki:formattedText value="#{topicHome.instance.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+
+ <hr/>
+ <a href="#{wikiURLRenderer.renderURL(topicHome.instance, true)}">Click here</a> to reply...
+ <br/>
+
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Please see the HTML portion of this e-mail.
+</h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Modified: trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/jira/templates/jiraIssueList.xhtml
===================================================================
--- trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/jira/templates/jiraIssueList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/src/plugin/org/jboss/seam/wiki/plugin/jira/templates/jiraIssueList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -25,7 +25,7 @@
cellpadding="0" cellspacing="0" border="0">
<h:column>
- <h:graphicImage value="#{imagePath}/icon.priority.#{i.priorityIcon}.gif" width="18" height="18"/>
+ <h:graphicImage value="#{currentMacro.requestImagePath}/icon.priority.#{i.priorityIcon}.gif" width="18" height="18"/>
</h:column>
<h:column>
Modified: trunk/examples/wiki/view/dirEdit_d.xhtml
===================================================================
--- trunk/examples/wiki/view/dirEdit_d.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/dirEdit_d.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -122,6 +122,7 @@
<h:panelGrid columns="1" styleClass="topLeftBottomBorder rightBorder" cellpadding="0" cellspacing="0" border="0">
+ <a:region>
<s:div styleClass="minorPadding" rendered="#{not empty directoryHome.availableMenuItems}">
<h:panelGroup>
<h:selectOneMenu value="#{directoryHome.selectedChildDirectory}" converter="#{restrictedEntityConverter}" tabindex="1">
@@ -138,7 +139,9 @@
</a:commandLink>
</h:panelGroup>
</s:div>
+ </a:region>
+ <a:region>
<h:dataTable id="menuItemTable" var="menuItem"
value="#{directoryHome.menuItems}"
styleClass="datatable"
@@ -190,6 +193,7 @@
</h:column>
</h:dataTable>
+ </a:region>
</h:panelGrid>
Modified: trunk/examples/wiki/view/includes/breadcrumb.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/breadcrumb.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/includes/breadcrumb.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -7,9 +7,11 @@
xmlns:wiki="http://jboss.com/products/seam/wiki"
xmlns:s="http://jboss.com/products/seam/taglib">
+ <!--
<s:cache enabled="#{breadcrumbFactory.cacheEnabled}"
region="#{breadcrumbFactory.cacheRegion}"
key="#{breadcrumbFactory.cacheKey}">
+ -->
<h:panelGroup styleClass="breadcrumbPanel">
@@ -45,6 +47,4 @@
</ui:repeat>
</h:panelGroup>
- </s:cache>
-
</s:div>
\ No newline at end of file
Modified: trunk/examples/wiki/view/includes/captchaEntry.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/captchaEntry.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/includes/captchaEntry.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -19,10 +19,11 @@
<div class="label">#{messages['lacewiki.label.VerificationQuestion']}:</div>
<div class="input">
- <s:validateAll>
- <h:inputText tabindex="1" size="6" maxlength="6" required="true" id="verifyCaptcha" value="#{captcha.response}"/>
- <h:graphicImage value="/seam/resource/captcha?nocache=#{wiki:generateRandomNumber()}" styleClass="captchaImage"/>
- </s:validateAll>
+ <h:inputText tabindex="1" size="6" maxlength="6" required="true" id="verifyCaptcha"
+ value="#{captcha.response}"
+ validator="wikiCaptchaValidator">
+ </h:inputText>
+ <h:graphicImage value="/seam/resource/captcha?nocache=#{wiki:generateRandomNumber()}" styleClass="captchaImage"/>
</div>
</s:fragment>
Modified: trunk/examples/wiki/view/includes/commentsDisplay.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -97,14 +97,16 @@
</h:panelGrid>
<s:div styleClass="commentText" rendered="#{c.useWikiText and not empty currentDocument.areaNumber}">
- <wiki:formattedText value="#{c.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
+ <s:cache region="wiki.Comment" key="#{c.id}">
+ <wiki:formattedText value="#{c.content}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+ </s:cache>
</s:div>
<s:div styleClass="commentText" rendered="#{not c.useWikiText and currentDocument.name != c.subject}" style="margin-top:15px;">
<h:outputText value="#{wiki:escapeHTML(c.content, true)}" escape="false"/>
@@ -118,14 +120,16 @@
<s:div styleClass="commentSignatureSeparator">
<h:outputText value=" "/>
</s:div>
- <wiki:formattedText value="#{c.createdBy.profile.signature}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
+ <s:cache region="wiki.Signature" key="#{c.createdBy.id}">
+ <wiki:formattedText value="#{c.createdBy.profile.signature}"
+ linkStyleClass="regularLink"
+ brokenLinkStyleClass="brokenLink"
+ attachmentLinkStyleClass="regularLink"
+ thumbnailLinkStyleClass="regularLink"
+ linkBaseFile="#{currentDocument}"
+ currentAreaNumber="#{currentDocument.areaNumber}"
+ enableMacroRendering="false"/>
+ </s:cache>
</s:div>
<div class="commentControls">
Deleted: trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReply.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReply.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,53 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki">
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
- <m:from name="Seam Wiki" address="do-not-reply at jboss.com" />
- <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
- <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
- <m:body>
- <html>
- <body>
- <p>Hello #{currentDocument.createdBy.firstname},</p>
-
- <p>
- you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">response</a>
- to <a href="#{wikiURLRenderer.renderURL(currentDocument)}">your posting</a> on the
- LaceWiki forum, posted by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Hello #{currentDocument.createdBy.firstname},
-
-you received a response to your posting on the LaceWiki forum.
-
-From: #{replyHome.instance.createdBy.fullname}
-Subject:#{replyHome.instance.subject}
-
-Follow this link to read and reply:
-
-#{wikiURLRenderer.renderURL(replyHome.instance)}
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplyToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,51 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
-
- <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
- <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
-
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
-
- <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- The <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">following reply</a>
- was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument)}">#{currentDocument.name}</a>
- by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyTopicToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,46 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
-
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
- <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>[SeamFramework.org Forums] #{topicHome.instance.name}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- This <a href="#{wikiURLRenderer.renderURL(topicHome.instance)}">new topic</a> was posted
- by #{topicHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{topicHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(topicHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,53 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki">
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
- <m:from name="Seam Wiki" address="do-not-reply at jboss.com" />
- <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
- <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
- <m:body>
- <html>
- <body>
- <p>Hello #{currentDocument.createdBy.firstname},</p>
-
- <p>
- you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">response</a>
- to <a href="#{wikiURLRenderer.renderURL(currentDocument)}">your posting</a> on the
- LaceWiki forum, posted by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Hello #{currentDocument.createdBy.firstname},
-
-you received a response to your posting on the LaceWiki forum.
-
-From: #{replyHome.instance.createdBy.fullname}
-Subject:#{replyHome.instance.subject}
-
-Follow this link to read and reply:
-
-#{wikiURLRenderer.renderURL(replyHome.instance)}
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,51 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
-
- <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
- <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
-
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
-
- <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>[LaceWiki Forums] #{replyHome.instance.subject}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- The <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">following reply</a>
- was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument)}">#{currentDocument.name}</a>
- by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/inrelationto/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,46 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
-
- <m:header name="X-Sent-From" value="JBoss Seam" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
- <m:to name="LaceWiki Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>[SeamFramework.org Forums] #{topicHome.instance.name}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- This <a href="#{wikiURLRenderer.renderURL(topicHome.instance)}">new topic</a> was posted
- by #{topicHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{topicHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(topicHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,53 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki">
- <m:header name="X-Sent-From" value="SeamFramework.org" />
- <m:header name="Precedence" value="list"/>
- <m:from name="SeamFramework.org" address="do-not-reply at jboss.com" />
- <m:to name="#{currentDocument.createdBy.fullname}">#{currentDocument.createdBy.email}</m:to>
- <m:subject>[SeamFramework.org Forums] #{replyHome.instance.subject}</m:subject>
- <m:body>
- <html>
- <body>
- <p>Hello #{currentDocument.createdBy.firstname},</p>
-
- <p>
- you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">response</a>
- to <a href="#{wikiURLRenderer.renderURL(currentDocument)}">your posting</a> on the
- Seam community forum, posted by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Hello #{currentDocument.createdBy.firstname},
-
-you received a response to your posting on the Seam community forum.
-
-From: #{replyHome.instance.createdBy.fullname}
-Subject:#{replyHome.instance.subject}
-
-Follow this link to read and reply:
-
-#{wikiURLRenderer.renderURL(replyHome.instance)}
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReplyToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,51 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(replyHome.instance.id, replyHome.instance.name)}">
-
- <m:header name="In-Reply-To" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
- <m:header name="References" value="#{wiki:calculateMessageId(currentDocument.id, currentDocument.name)}"/>
-
- <m:header name="X-Sent-From" value="SeamFramework.org" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{replyHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
- <m:to name="SeamFramework.org Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>#{replyHome.instance.subject}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- The <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">following reply</a>
- was posted on the thread <a href="#{wikiURLRenderer.renderURL(currentDocument)}">#{currentDocument.name}</a>
- by #{replyHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{replyHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
- <br/>
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
Deleted: trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 03:47:56 UTC (rev 8241)
+++ trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyTopicToList.xhtml 2008-05-21 07:38:53 UTC (rev 8242)
@@ -1,47 +0,0 @@
-<m:message xmlns="http://www.w3.org/1999/xhtml"
- xmlns:m="http://jboss.com/products/seam/mail"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- messageId="#{wiki:calculateMessageId(topicHome.instance.id, topicHome.instance.name)}">
-
- <m:header name="X-Sent-From" value="SeamFramework.org" />
- <m:header name="Precedence" value="list"/>
-
- <m:header name="From" value="#{topicHome.instance.createdBy.fullname} <do-not-reply at jboss.com>"/>
- <m:to name="SeamFramework.org Forums List">#{preferences.get('Forum').notificationMailingList}</m:to>
-
- <m:subject>#{topicHome.instance.name}</m:subject>
-
- <m:body>
- <html>
- <body>
- <p>
- This <a href="#{wikiURLRenderer.renderURL(topicHome.instance)}">new topic</a> was posted
- by #{topicHome.instance.createdBy.fullname}:
- </p>
-
- <hr/>
-
- <wiki:formattedText value="#{topicHome.instance.content}"
- linkStyleClass="regularLink"
- brokenLinkStyleClass="brokenLink"
- attachmentLinkStyleClass="regularLink"
- thumbnailLinkStyleClass="regularLink"
- linkBaseFile="#{currentDocument}"
- currentAreaNumber="#{currentDocument.areaNumber}"
- enableMacroRendering="false"/>
-
- <hr/>
- <h:outputLink value="#{wikiURLRenderer.renderURL(topicHome.instance)}">Click here</h:outputLink> to reply...
- <br/>
-
- </body>
- </html>
- <f:facet name="alternative">
- <h:outputText>
-Please see the HTML portion of this e-mail.
-</h:outputText>
- </f:facet>
- </m:body>
-</m:message>
More information about the seam-commits
mailing list