[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers ...
Christian Bauer
christian at hibernate.org
Mon Apr 9 04:43:53 EDT 2007
User: cbauer
Date: 07/04/09 04:43:53
Added: examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers
FeedTeasers.java FeedTeasersPreferences.java
Log:
Plugin for feed teaser preview
Revision Changes Path
1.1 date: 2007/04/09 08:43:53; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/FeedTeasers.java
Index: FeedTeasers.java
===================================================================
package org.jboss.seam.wiki.plugin.feedTeasers;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.wiki.core.dao.FeedDAO;
import org.jboss.seam.wiki.core.model.FeedEntry;
import org.jboss.seam.wiki.core.model.Feed;
import org.jboss.seam.ScopeType;
import java.io.Serializable;
import java.util.List;
@Name("feedTeasersPlugin")
@Scope(ScopeType.PAGE)
public class FeedTeasers implements Serializable {
@In
FeedDAO feedDAO;
@In("#{feedTeasersPreferences.properties['numberOfTeasers']}")
private Long numberOfTeasers;
@In("#{feedTeasersPreferences.properties['feedIdentifier']}")
private Long feedIdentifier;
private List<FeedEntry> teasers;
public List<FeedEntry> getTeasers() {
if (teasers == null) loadTeasers();
return teasers;
}
@Observer("Preferences.feedTeasersPreferences")
public void loadTeasers() {
Feed feed = feedDAO.findFeed(feedIdentifier);
teasers = feedDAO.findFeedEntries(feed, numberOfTeasers.intValue());
}
}
1.1 date: 2007/04/09 08:43:53; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/FeedTeasersPreferences.java
Index: FeedTeasersPreferences.java
===================================================================
package org.jboss.seam.wiki.plugin.feedTeasers;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.ScopeType;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.preferences.Preference;
import org.jboss.seam.wiki.preferences.PreferenceSupport;
import org.hibernate.validator.Range;
import java.io.Serializable;
@Name("feedTeasersPreferences")
@Scope(ScopeType.CONVERSATION)
@Preference(description = "D. Plugin: Feed Teasers", visibility = PreferenceVisibility.INSTANCE)
public class FeedTeasersPreferences extends PreferenceSupport implements Serializable {
public String getCurrentUserVariable() { return "currentUser"; }
public String getCurrentInstanceVariable() { return "currentDocument"; }
@Observer("PreferenceEditor.refresh.feedTeasersPreferences")
public void refreshProperties() { super.refreshProperties(); }
@Preference(description = "01. Title of teaser box", visibility = PreferenceVisibility.INSTANCE)
private String teaserTitle;
@Preference(description = "02. Feed identifier (feedId)", visibility = PreferenceVisibility.INSTANCE)
private Long feedIdentifier;
@Preference(description = "03. Number of feed entries shown in list", visibility = PreferenceVisibility.INSTANCE)
@Range(min = 3l, max = 25l)
private Long numberOfTeasers;
@Preference(description = "04. Truncate teaser text after characters", visibility = PreferenceVisibility.INSTANCE)
@Range(min = 10l, max = 500l)
private Long truncateDescription;
@Preference(description = "05. Show author name", visibility = PreferenceVisibility.INSTANCE)
private boolean showAuthor;
}
More information about the jboss-cvs-commits
mailing list