[jboss-cvs] JBossBlog SVN: r331 - in labs: resources/templates and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Sep 15 04:42:55 EDT 2008
Author: adamw
Date: 2008-09-15 04:42:55 -0400 (Mon, 15 Sep 2008)
New Revision: 331
Added:
labs/lib/rome-1.0RC1.jar
labs/resources/templates/rss1_standard.vm
labs/src/action/org/jboss/blog/session/xml/velocity/tools/Rss1XmlTools.java
Removed:
labs/lib/rome-0.9.jar
Modified:
labs/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java
labs/src/action/org/jboss/blog/session/tools/AdminBean.java
labs/src/action/org/jboss/blog/session/xml/velocity/TemplateBootstrap.java
labs/src/action/org/jboss/blog/session/xml/velocity/VelocityXmlService.java
labs/src/model/org/jboss/blog/model/XmlType.java
labs/view/manage/index.xhtml
Log:
MERGE 328:330 from trunk to labs
Deleted: labs/lib/rome-0.9.jar
===================================================================
(Binary files differ)
Copied: labs/lib/rome-1.0RC1.jar (from rev 330, trunk/lib/rome-1.0RC1.jar)
===================================================================
(Binary files differ)
Copied: labs/resources/templates/rss1_standard.vm (from rev 330, trunk/resources/templates/rss1_standard.vm)
===================================================================
--- labs/resources/templates/rss1_standard.vm (rev 0)
+++ labs/resources/templates/rss1_standard.vm 2008-09-15 08:42:55 UTC (rev 331)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<rdf:RDF
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns="http://purl.org/rss/1.0/"
+>
+ <channel>
+ <title>$feed.title</title>
+ <link>$tools.feedPageLink($feed)</link>
+
+ <items>
+ <rdf:Seq>
+ #foreach($post in $posts)
+ <rdf:li resource="$tools.postLink($post)" />
+ #end
+ </rdf:Seq>
+ </items>
+ </channel>
+
+ #foreach($post in $posts)
+ <item rdf:about="$tools.postLink($post)">
+ <title><![CDATA[$post.title]]></title>
+ <link>$tools.postLink($post)</link>
+ <description><![CDATA[$post.content]]></description>
+ </item>
+ #end
+</rdf:RDF>
\ No newline at end of file
Modified: labs/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java
===================================================================
--- labs/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -63,6 +63,7 @@
feed.getTemplates().put(XmlType.ATOM, templateService.templatesOfType(XmlType.ATOM).get(0));
feed.getTemplates().put(XmlType.RSS2, templateService.templatesOfType(XmlType.RSS2).get(0));
+ feed.getTemplates().put(XmlType.RSS1, templateService.templatesOfType(XmlType.RSS1).get(0));
}
public Feed getFeed() {
Modified: labs/src/action/org/jboss/blog/session/tools/AdminBean.java
===================================================================
--- labs/src/action/org/jboss/blog/session/tools/AdminBean.java 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/src/action/org/jboss/blog/session/tools/AdminBean.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -7,10 +7,13 @@
import org.jboss.seam.log.Log;
import org.jboss.blog.model.Group;
import org.jboss.blog.model.Post;
+import org.jboss.blog.model.XmlType;
+import org.jboss.blog.model.Template;
import org.jboss.blog.model.feed.Feed;
import org.jboss.blog.tools.StringTools;
import org.jboss.blog.service.GroupsService;
import org.jboss.blog.session.cache.CacheManager;
+import org.jboss.blog.session.xml.velocity.TemplateServiceBean;
import javax.persistence.EntityManager;
import java.util.List;
@@ -34,9 +37,34 @@
@In
private FacesMessages facesMessages;
+ @In
+ private TemplateServiceBean templateService;
+
@Logger
private Log log;
+ private void updateFeedTemplates(Template atomTemplate, Template rss2Template, Template rss1Template, Feed feed) {
+ if (feed.getTemplates().get(XmlType.ATOM) == null) { feed.getTemplates().put(XmlType.ATOM, atomTemplate); }
+ if (feed.getTemplates().get(XmlType.RSS2) == null) { feed.getTemplates().put(XmlType.RSS2, rss2Template); }
+ if (feed.getTemplates().get(XmlType.RSS1) == null) { feed.getTemplates().put(XmlType.RSS1, rss1Template); }
+ }
+
+ public void updateMissingTemplates() {
+ Template atomTemplate = templateService.templatesOfType(XmlType.ATOM).get(0);
+ Template rss2Template = templateService.templatesOfType(XmlType.RSS2).get(0);
+ Template rss1Template = templateService.templatesOfType(XmlType.RSS1).get(0);
+
+ for (Group group : groupsService.getAllGroups()) {
+ for (Feed feed : groupsService.unacceptedFeeds(group)) {
+ updateFeedTemplates(atomTemplate, rss2Template, rss1Template, feed);
+ }
+
+ for (Feed feed : groupsService.allAcceptedFeeds(group)) {
+ updateFeedTemplates(atomTemplate, rss2Template, rss1Template, feed);
+ }
+ }
+ }
+
@Restrict("#{identity.hasPermission('admin', null)}")
public void fixHtml() {
for (Group group : groupsService.getAllGroups()) {
Modified: labs/src/action/org/jboss/blog/session/xml/velocity/TemplateBootstrap.java
===================================================================
--- labs/src/action/org/jboss/blog/session/xml/velocity/TemplateBootstrap.java 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/src/action/org/jboss/blog/session/xml/velocity/TemplateBootstrap.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -18,11 +18,18 @@
public class TemplateBootstrap {
@In
private EntityManager entityManager;
+
+ private long getTemplateCount(XmlType type) {
+ return (Long) entityManager
+ .createQuery("select count(t) from Template t where t.type = :type")
+ .setParameter("type", type)
+ .getSingleResult();
+ }
@Observer("org.jboss.blog.postBlogInit")
@Transactional
public void initAtomTemplate() throws IOException {
- if (((Long) entityManager.createQuery("select count(t) from Template t").getSingleResult()) == 0) {
+ if (getTemplateCount(XmlType.ATOM) == 0) {
String templateText = GeneralTools.readInputStream(
this.getClass().getResourceAsStream("/templates/atom_standard.vm"));
@@ -40,7 +47,7 @@
@Observer("org.jboss.blog.postBlogInit")
@Transactional
public void initRss2Template() throws IOException {
- if (((Long) entityManager.createQuery("select count(t) from Template t").getSingleResult()) == 0) {
+ if (getTemplateCount(XmlType.RSS2) == 0) {
String templateText = GeneralTools.readInputStream(
this.getClass().getResourceAsStream("/templates/rss2_standard.vm"));
@@ -54,4 +61,22 @@
entityManager.flush();
}
}
+
+ @Observer("org.jboss.blog.postBlogInit")
+ @Transactional
+ public void initRss1Template() throws IOException {
+ if (getTemplateCount(XmlType.RSS1) == 0) {
+ String templateText = GeneralTools.readInputStream(
+ this.getClass().getResourceAsStream("/templates/rss1_standard.vm"));
+
+ Template rss1Template = new Template();
+ rss1Template.setType(XmlType.RSS1);
+ rss1Template.setLastModified(new Date());
+ rss1Template.setName("0_rss1_standard");
+ rss1Template.setText(templateText);
+
+ entityManager.persist(rss1Template);
+ entityManager.flush();
+ }
+ }
}
Modified: labs/src/action/org/jboss/blog/session/xml/velocity/VelocityXmlService.java
===================================================================
--- labs/src/action/org/jboss/blog/session/xml/velocity/VelocityXmlService.java 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/src/action/org/jboss/blog/session/xml/velocity/VelocityXmlService.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -14,6 +14,7 @@
import org.jboss.blog.session.xml.velocity.tools.XmlTools;
import org.jboss.blog.session.xml.velocity.tools.AtomXmlTools;
import org.jboss.blog.session.xml.velocity.tools.Rss2XmlTools;
+import org.jboss.blog.session.xml.velocity.tools.Rss1XmlTools;
import org.jboss.blog.session.cache.CacheManager;
import org.jboss.blog.session.tools.PostToToolsBean;
import org.jboss.blog.session.security.SecurityUserKeys;
@@ -70,6 +71,7 @@
xmlTools = new HashMap<XmlType, XmlTools>();
xmlTools.put(XmlType.ATOM, new AtomXmlTools());
xmlTools.put(XmlType.RSS2, new Rss2XmlTools());
+ xmlTools.put(XmlType.RSS1, new Rss1XmlTools());
try {
Properties props = new Properties();
Copied: labs/src/action/org/jboss/blog/session/xml/velocity/tools/Rss1XmlTools.java (from rev 330, trunk/src/action/org/jboss/blog/session/xml/velocity/tools/Rss1XmlTools.java)
===================================================================
--- labs/src/action/org/jboss/blog/session/xml/velocity/tools/Rss1XmlTools.java (rev 0)
+++ labs/src/action/org/jboss/blog/session/xml/velocity/tools/Rss1XmlTools.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -0,0 +1,13 @@
+package org.jboss.blog.session.xml.velocity.tools;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+public class Rss1XmlTools extends XmlTools {
+ public String formatDate(Date date) {
+ return new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").format(date);
+ }
+}
\ No newline at end of file
Modified: labs/src/model/org/jboss/blog/model/XmlType.java
===================================================================
--- labs/src/model/org/jboss/blog/model/XmlType.java 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/src/model/org/jboss/blog/model/XmlType.java 2008-09-15 08:42:55 UTC (rev 331)
@@ -5,7 +5,8 @@
*/
public enum XmlType {
ATOM("application/atom+xml"),
- RSS2("application/xhtml+xml");
+ RSS2("application/xhtml+xml"),
+ RSS1("application/xhtml+xml");
private final String contentType;
Modified: labs/view/manage/index.xhtml
===================================================================
--- labs/view/manage/index.xhtml 2008-09-15 08:41:10 UTC (rev 330)
+++ labs/view/manage/index.xhtml 2008-09-15 08:42:55 UTC (rev 331)
@@ -70,6 +70,7 @@
<hr />
<dd><s:link value="Fix html in all posts" action="#{adminBean.fixHtml}" /></dd>
<dd><s:link value="Remove duplicates" action="#{adminBean.removeDuplicates}" /></dd>
+ <dd><s:link value="Update missing templates" action="#{adminBean.updateMissingTemplates}" /></dd>
<dd><s:link value="Re-index posts (for search)" action="#{postSearch.reindex}" /></dd>
</s:fragment>
<dt>Existing feed operations:</dt>
More information about the jboss-cvs-commits
mailing list