[jboss-cvs] JBossBlog SVN: r245 - in trunk: resources and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 6 03:33:09 EST 2008
Author: adamw
Date: 2008-03-06 03:33:09 -0500 (Thu, 06 Mar 2008)
New Revision: 245
Added:
trunk/src/model/org/jboss/blog/model/post/filter/AbstractRegexpFilter.java
trunk/src/model/org/jboss/blog/model/post/filter/CategoryRegexpFilter.java
Modified:
trunk/build.xml
trunk/resources/WEB-INF/pages.xml
trunk/resources/components.properties
trunk/src/action/org/jboss/blog/session/feed/mod/FilterAddBean.java
trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java
trunk/view/manage/aggregated/filter_add.xhtml
Log:
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/build.xml 2008-03-06 08:33:09 UTC (rev 245)
@@ -367,7 +367,6 @@
<exclude name="**/*.jar"/>
</fileset>
</delete>
- <delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
<delete dir="${ear.deploy.dir}" failonerror="no"/>
<delete file="${deploy.dir}/${jar.api.name}" />
@@ -387,8 +386,6 @@
<target name="undeploy" description="Undeploy the example from JBoss">
<delete file="${deploy.dir}/${project.name}.ear" />
<delete file="${deploy.dir}/${jar.api.name}" />
- <delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
- <delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
</target>
<target name="clean" description="Cleans up the build directory">
Modified: trunk/resources/WEB-INF/pages.xml
===================================================================
--- trunk/resources/WEB-INF/pages.xml 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/resources/WEB-INF/pages.xml 2008-03-06 08:33:09 UTC (rev 245)
@@ -191,6 +191,9 @@
<navigation from-action="#{filterAdd.add(filterAdd.authorRegexpFilter)}">
<raise-event type="org.jboss.blog.restoreView" />
</navigation>
+ <navigation from-action="#{filterAdd.add(filterAdd.categoryRegexpFilter)}">
+ <raise-event type="org.jboss.blog.restoreView" />
+ </navigation>
<navigation from-action="#{filterAdd.cancel}">
<raise-event type="org.jboss.blog.restoreView" />
</navigation>
Modified: trunk/resources/components.properties
===================================================================
--- trunk/resources/components.properties 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/resources/components.properties 2008-03-06 08:33:09 UTC (rev 245)
@@ -1,2 +1,2 @@
jndiPattern \#{ejbName}/local
-debug false
+debug true
Modified: trunk/src/action/org/jboss/blog/session/feed/mod/FilterAddBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/FilterAddBean.java 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/FilterAddBean.java 2008-03-06 08:33:09 UTC (rev 245)
@@ -6,7 +6,7 @@
import org.jboss.blog.model.post.PostFilter;
import org.jboss.blog.model.post.filter.PodcastFilter;
import org.jboss.blog.model.post.filter.NotPodcastFilter;
-import org.jboss.blog.model.post.filter.AuthorRegexpFilter;
+import org.jboss.blog.model.post.filter.CategoryRegexpFilter;
import java.util.List;
import java.io.Serializable;
@@ -23,8 +23,10 @@
private NotPodcastFilter notPodcastFilter;
- private AuthorRegexpFilter authorRegexpFilter;
+ private CategoryRegexpFilter authorRegexpFilter;
+ private CategoryRegexpFilter categoryRegexpFilter;
+
public PodcastFilter getPodcastFilter() {
if (podcastFilter == null) {
podcastFilter = new PodcastFilter();
@@ -41,14 +43,22 @@
return notPodcastFilter;
}
- public AuthorRegexpFilter getAuthorRegexpFilter() {
+ public CategoryRegexpFilter getAuthorRegexpFilter() {
if (authorRegexpFilter == null) {
- authorRegexpFilter = new AuthorRegexpFilter();
+ authorRegexpFilter = new CategoryRegexpFilter();
}
return authorRegexpFilter;
}
+ public CategoryRegexpFilter getCategoryRegexpFilter() {
+ if (categoryRegexpFilter == null) {
+ categoryRegexpFilter = new CategoryRegexpFilter();
+ }
+
+ return categoryRegexpFilter;
+ }
+
public void add(PostFilter filter) {
addToList.add(filter);
}
Added: trunk/src/model/org/jboss/blog/model/post/filter/AbstractRegexpFilter.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/AbstractRegexpFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AbstractRegexpFilter.java 2008-03-06 08:33:09 UTC (rev 245)
@@ -0,0 +1,41 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.post.PostFilter;
+import org.jboss.blog.tools.validator.Regexp;
+
+import java.util.regex.Pattern;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public abstract class AbstractRegexpFilter implements PostFilter {
+ @Regexp
+ protected String regexp;
+
+ protected transient Pattern pattern;
+
+ public String getRegexp() {
+ return regexp;
+ }
+
+ public void setRegexp(String regexp) {
+ this.regexp = regexp;
+
+ pattern = Pattern.compile(this.regexp);
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof CategoryRegexpFilter)) return false;
+
+ AbstractRegexpFilter that = (AbstractRegexpFilter) o;
+
+ if (regexp != null ? !regexp.equals(that.regexp) : that.regexp != null) return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ return (regexp != null ? regexp.hashCode() : 0);
+ }
+}
Modified: trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/src/model/org/jboss/blog/model/post/filter/AuthorRegexpFilter.java 2008-03-06 08:33:09 UTC (rev 245)
@@ -1,33 +1,15 @@
package org.jboss.blog.model.post.filter;
-import org.jboss.blog.model.post.PostFilter;
import org.jboss.blog.model.RestrictedPost;
-import org.jboss.blog.tools.validator.Regexp;
-import java.util.regex.Pattern;
import java.io.IOException;
/**
* @author <a href="mailto:adam at warski.org">Adam Warski</a>
*/
-public class AuthorRegexpFilter implements PostFilter {
+public class AuthorRegexpFilter extends AbstractRegexpFilter {
private static final long serialVersionUID = 2015864901762113142L;
- @Regexp
- private String regexp;
-
- private transient Pattern pattern;
-
- public String getRegexp() {
- return regexp;
- }
-
- public void setRegexp(String regexp) {
- this.regexp = regexp;
-
- pattern = Pattern.compile(this.regexp);
- }
-
public boolean filter(RestrictedPost post) {
return pattern.matcher(post.getEffectiveAuthor()).matches();
}
@@ -47,19 +29,4 @@
public String toString() {
return "Author matching regexp: " + regexp;
}
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof AuthorRegexpFilter)) return false;
-
- AuthorRegexpFilter that = (AuthorRegexpFilter) o;
-
- if (regexp != null ? !regexp.equals(that.regexp) : that.regexp != null) return false;
-
- return true;
- }
-
- public int hashCode() {
- return (regexp != null ? regexp.hashCode() : 0);
- }
}
Copied: trunk/src/model/org/jboss/blog/model/post/filter/CategoryRegexpFilter.java (from rev 240, trunk/src/model/org/jboss/blog/model/post/filter/AndFilter.java)
===================================================================
--- trunk/src/model/org/jboss/blog/model/post/filter/CategoryRegexpFilter.java (rev 0)
+++ trunk/src/model/org/jboss/blog/model/post/filter/CategoryRegexpFilter.java 2008-03-06 08:33:09 UTC (rev 245)
@@ -0,0 +1,39 @@
+package org.jboss.blog.model.post.filter;
+
+import org.jboss.blog.model.RestrictedPost;
+import org.jboss.blog.model.RestrictedCategory;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public class CategoryRegexpFilter extends AbstractRegexpFilter {
+ private static final long serialVersionUID = 1209854919382113132L;
+
+ public boolean filter(RestrictedPost post) {
+ for (RestrictedCategory cat : post.getCategories()) {
+ if (pattern.matcher(cat.getName()).matches()) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out)
+ throws IOException {
+ out.defaultWriteObject();
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws IOException, ClassNotFoundException {
+ in.defaultReadObject();
+
+ setRegexp(getRegexp());
+ }
+
+ public String toString() {
+ return "Category matching regexp: " + regexp;
+ }
+}
Modified: trunk/view/manage/aggregated/filter_add.xhtml
===================================================================
--- trunk/view/manage/aggregated/filter_add.xhtml 2008-03-06 07:34:00 UTC (rev 244)
+++ trunk/view/manage/aggregated/filter_add.xhtml 2008-03-06 08:33:09 UTC (rev 245)
@@ -8,71 +8,103 @@
xmlns:rich="http://richfaces.org/rich"
xmlns:a="http://richfaces.org/a4j"
template="../../layout/template.xhtml">
- <ui:define name="header">
- Add a filter feed
- </ui:define>
+<ui:define name="header">
+ Add a filter feed
+</ui:define>
- <ui:define name="body">
- <div class="adminforms">
- <table class="basetablestyle" cellspacing="0" cellpadding="4">
- <tr>
- <th class="header tableHeader">Filter function</th>
- <th class="header tableHeader">Configure/add</th>
- </tr>
- <tr class="oddRow">
- <td>Only entries with enclosures filter (podcast)</td>
- <td>
- <h:form>
- <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.podcastFilter)}"
- styleClass="submit" />
- </h:form>
- </td>
- </tr>
- <tr class="evenRow">
- <td>Only entries without enclosure filter (not-podcast)</td>
- <td>
- <h:form>
- <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.notPodcastFilter)}"
- styleClass="submit" />
- </h:form>
- </td>
- </tr>
- <tr class="oddRow">
- <td>Only entries whose author matches a regular expression</td>
- <td>
- <h:form>
- <h:outputLabel for="author">
- <span class="required">*</span> Regular expression:
- </h:outputLabel>
- <br />
- <h:panelGroup>
- <h:inputText id="author" value="#{filterAdd.authorRegexpFilter.regexp}" required="true" size="16">
- <a:support event="onblur" reRender="authorMessage" ajaxSingle="true" bypassUpdates="true"/>
- <s:validate />
- </h:inputText>
+<ui:define name="body">
+ <div class="QuickstartMargin" id="QuickStart">
+ <ul>
+ <li>
+ <p>An <a href="http://www.regular-expressions.info/javascriptexample.html" target="_blank">online regular
+ expressions tester</a> in case you need help.</p>
+ </li>
+ </ul>
+ </div>
- <a:outputPanel id="authorMessage">
- <h:message for="author" styleClass="error" />
- </a:outputPanel>
- </h:panelGroup>
- <br />
- <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.authorRegexpFilter)}"
- styleClass="submit" />
- </h:form>
- </td>
- </tr>
- </table>
+ <div class="adminforms">
+ <table class="basetablestyle" cellspacing="0" cellpadding="4">
+ <tr>
+ <th class="header tableHeader">Filter function</th>
+ <th class="header tableHeader">Configure/add</th>
+ </tr>
+ <tr class="oddRow">
+ <td>Only entries with enclosures filter (podcast):</td>
+ <td>
+ <h:form>
+ <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.podcastFilter)}"
+ styleClass="submit" />
+ </h:form>
+ </td>
+ </tr>
+ <tr class="evenRow">
+ <td>Only entries without enclosure filter (not-podcast):</td>
+ <td>
+ <h:form>
+ <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.notPodcastFilter)}"
+ styleClass="submit" />
+ </h:form>
+ </td>
+ </tr>
+ <tr class="oddRow">
+ <td>Only entries whose author matches a regular expression:</td>
+ <td>
+ <h:form>
+ <h:outputLabel for="author">
+ <span class="required">*</span> Regular expression:
+ </h:outputLabel>
+ <br />
+ <h:panelGroup>
+ <h:inputText id="author" value="#{filterAdd.authorRegexpFilter.regexp}" required="true" size="16">
+ <a:support event="onblur" reRender="authorMessage" ajaxSingle="true" bypassUpdates="true"/>
+ <s:validate />
+ </h:inputText>
- <h:form>
- <div id="proceed" class="formbuttons">
- <ul>
- <li>
- <h:commandButton value="Cancel" action="#{filterAdd.cancel}" styleClass="submit"/>
+ <a:outputPanel id="authorMessage">
+ <h:message for="author" styleClass="error" />
+ </a:outputPanel>
+ </h:panelGroup>
+ <br />
+ <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.authorRegexpFilter)}"
+ styleClass="submit" />
+ </h:form>
+ </td>
+ </tr>
+ <tr class="evenRow">
+ <td>Only entries where at least one category matches a regular expression:</td>
+ <td>
+ <h:form>
+ <h:outputLabel for="category">
+ <span class="required">*</span> Regular expression:
+ </h:outputLabel>
+ <br />
+ <h:panelGroup>
+ <h:inputText id="category" value="#{filterAdd.categoryRegexpFilter.regexp}" required="true" size="16">
+ <a:support event="onblur" reRender="categoryMessage" ajaxSingle="true" bypassUpdates="true"/>
+ <s:validate />
+ </h:inputText>
- </li>
- </ul>
- </div>
- </h:form>
- </div>
- </ui:define>
+ <a:outputPanel id="categoryMessage">
+ <h:message for="category" styleClass="error" />
+ </a:outputPanel>
+ </h:panelGroup>
+ <br />
+ <h:commandButton value="Add" action="#{filterAdd.add(filterAdd.categoryRegexpFilter)}"
+ styleClass="submit" />
+ </h:form>
+ </td>
+ </tr>
+ </table>
+
+ <h:form>
+ <div id="proceed" class="formbuttons">
+ <ul>
+ <li>
+ <h:commandButton value="Cancel" action="#{filterAdd.cancel}" styleClass="submit"/>
+ </li>
+ </ul>
+ </div>
+ </h:form>
+ </div>
+</ui:define>
</ui:composition>
More information about the jboss-cvs-commits
mailing list