You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Allen Gilliland <Al...@Sun.COM> on 2006/04/20 18:21:12 UTC
Re: svn commit: r395471 - in /incubator/roller/trunk/src/org/roller:
pojos/WebsiteData.java presentation/website/actions/CreateWebsiteAction.java
presentation/website/actions/WebsiteFormAction.java
Dave,
I am thinking that the default editor may be better as a runtime config
property. I'm can't think of any real reason why it has to be static.
-- Allen
snoopdave@apache.org wrote:
> Author: snoopdave
> Date: Wed Apr 19 20:40:46 2006
> New Revision: 395471
>
> URL: http://svn.apache.org/viewcvs?rev=395471&view=rev
> Log:
> ROL-1116: default editor is now configurable (static config)
>
> Modified:
> incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java
> incubator/roller/trunk/src/org/roller/presentation/website/actions/CreateWebsiteAction.java
> incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
>
> Modified: incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java?rev=395471&r1=395470&r2=395471&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java (original)
> +++ incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java Wed Apr 19 20:40:46 2006
> @@ -7,26 +7,24 @@
> import java.util.List;
> import java.util.Locale;
> import java.util.Map;
> -import java.util.StringTokenizer;
> import java.util.TimeZone;
> -import java.util.regex.Pattern;
> import org.apache.commons.lang.StringUtils;
> import org.roller.RollerException;
> -import org.roller.model.Roller;
> import org.roller.model.RollerFactory;
> import org.roller.util.PojoUtil;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.roller.ThemeNotFoundException;
> +import org.roller.config.RollerRuntimeConfig;
> import org.roller.model.ThemeManager;
> import org.roller.model.UserManager;
>
>
> /**
> - * Website has many-to-many association with users. Website has one-to-many and
> + * Website has many-to-many association with users. Website has one-to-many and
> * one-direction associations with weblog entries, weblog categories, folders and
> * other objects. Use UserManager to create, fetch, update and retreive websites.
> - *
> + *
> * @author David M Johnson
> *
> * @ejb:bean name="WebsiteData"
> @@ -35,119 +33,88 @@
> * @hibernate.cache usage="read-write"
> */
> public class WebsiteData extends org.roller.pojos.PersistentObject
> - implements java.io.Serializable
> -{
> + implements java.io.Serializable {
> public static final long serialVersionUID = 206437645033737127L;
>
> private static Log mLogger = LogFactory.getLog(WebsiteData.class);
>
> // Simple properties
> - private String id = null;
> - private String handle = null;
> - private String name = null;
> - private String description = null;
> - private String defaultPageId = "dummy";
> - private String weblogDayPageId = "dummy";
> + private String id = null;
> + private String handle = null;
> + private String name = null;
> + private String description = null;
> + private String defaultPageId = "dummy";
> + private String weblogDayPageId = "dummy";
> private Boolean enableBloggerApi = Boolean.TRUE;
> - private String editorPage = null;
> - private String blacklist = null;
> - private Boolean allowComments = Boolean.TRUE;
> - private Boolean emailComments = Boolean.FALSE;
> + private String editorPage = null;
> + private String blacklist = null;
> + private Boolean allowComments = Boolean.TRUE;
> + private Boolean emailComments = Boolean.FALSE;
> private String emailFromAddress = null;
> - private String emailAddress = null;
> - private String editorTheme = null;
> - private String locale = null;
> - private String timeZone = null;
> - private String defaultPlugins = null;
> - private Boolean enabled = Boolean.TRUE;
> - private Boolean active = Boolean.TRUE;
> - private Date dateCreated = null;
> + private String emailAddress = null;
> + private String editorTheme = null;
> + private String locale = null;
> + private String timeZone = null;
> + private String defaultPlugins = null;
> + private Boolean enabled = Boolean.TRUE;
> + private Boolean active = Boolean.TRUE;
> + private Date dateCreated = null;
> private Boolean defaultAllowComments = Boolean.TRUE;
> - private int defaultCommentDays = 0;
> - private Boolean moderateComments = Boolean.FALSE;
> - private int entryDisplayCount = 15;
> -
> + private int defaultCommentDays = 0;
> + private Boolean moderateComments = Boolean.FALSE;
> + private int entryDisplayCount = 15;
> +
> // Associated objects
> private UserData creator = null; // TODO: decide if website.user is needed
> - private List permissions = new ArrayList();
> + private List permissions = new ArrayList();
> private WeblogCategoryData bloggerCategory = null;
> private WeblogCategoryData defaultCategory = null;
> -
> -
> - public WebsiteData()
> - {
> +
> + public WebsiteData() {
> }
> -
> - public WebsiteData(final String id,
> - final String name,
> - final String handle,
> - final String description,
> - final UserData user,
> - final String defaultPageId,
> - final String weblogDayPageId,
> - final Boolean enableBloggerApi,
> - final WeblogCategoryData bloggerCategory,
> - final WeblogCategoryData defaultCategory,
> - final String editorPage,
> - final String blacklist,
> - final Boolean allowComments,
> - final Boolean emailComments,
> - final String emailFromAddress,
> - final Boolean enabled,
> - final String emailAddress,
> - final Date dateCreated,
> - final Boolean defaultAllowComments,
> - final int defaultCommentDays,
> - final Boolean moderateComments
> - )
> - {
> - this.id = id;
> - this.name = name;
> +
> + public WebsiteData(
> + String handle,
> + UserData creator,
> + String name,
> + String desc,
> + String email,
> + String emailFrom,
> + String editorTheme,
> + String locale,
> + String timeZone) {
> +
> this.handle = handle;
> - this.description = description;
> - this.creator = user;
> - this.defaultPageId = defaultPageId;
> - this.weblogDayPageId = weblogDayPageId;
> - this.enableBloggerApi = enableBloggerApi;
> - this.bloggerCategory = bloggerCategory;
> - this.defaultCategory = defaultCategory;
> - this.editorPage = editorPage;
> - this.blacklist = blacklist;
> - this.allowComments = allowComments;
> - this.emailComments = emailComments;
> - this.emailFromAddress = emailFromAddress;
> - this.enabled = enabled;
> - this.emailAddress = emailAddress;
> - this.defaultAllowComments = defaultAllowComments;
> - this.defaultCommentDays = defaultCommentDays;
> - this.moderateComments = moderateComments;
> - this.dateCreated = dateCreated;
> + this.creator = creator;
> + this.name = name;
> + this.description = desc;
> + this.emailAddress = email;
> + this.emailFromAddress = emailFrom;
> + this.editorTheme = editorTheme;
> + this.locale = locale;
> + this.timeZone = timeZone;
> }
> -
> - public WebsiteData(WebsiteData otherData)
> - {
> +
> + public WebsiteData(WebsiteData otherData) {
> this.setData(otherData);
> }
> -
> - /**
> +
> + /**
> * @hibernate.bag lazy="true" inverse="true" cascade="delete"
> * @hibernate.collection-key column="website_id"
> - * @hibernate.collection-one-to-many
> + * @hibernate.collection-one-to-many
> * class="org.roller.pojos.PermissionsData"
> */
> - public List getPermissions()
> - {
> + public List getPermissions() {
> return permissions;
> }
> - public void setPermissions(List perms)
> - {
> + public void setPermissions(List perms) {
> permissions = perms;
> }
> - /**
> + /**
> * Remove permission from collection.
> */
> - public void removePermission(PermissionsData perms)
> - {
> + public void removePermission(PermissionsData perms) {
> permissions.remove(perms);
> }
>
> @@ -252,7 +219,7 @@
> ThemeManager themeMgr = RollerFactory.getRoller().getThemeManager();
> Theme usersTheme = themeMgr.getTheme(this.editorTheme);
> template = usersTheme.getTemplate(name);
> -
> +
> } catch(ThemeNotFoundException tnfe) {
> // i sure hope not!
> mLogger.error(tnfe);
> @@ -293,7 +260,7 @@
> ThemeManager themeMgr = RollerFactory.getRoller().getThemeManager();
> Theme usersTheme = themeMgr.getTheme(this.editorTheme);
> template = usersTheme.getTemplateByLink(link);
> -
> +
> } catch(ThemeNotFoundException tnfe) {
> // i sure hope not!
> mLogger.error(tnfe);
> @@ -335,7 +302,7 @@
> mLogger.error(e);
> }
>
> -
> +
> // now get theme pages if needed and put them in place of db pages
> if(this.editorTheme != null && !this.editorTheme.equals(Theme.CUSTOM)) {
> try {
> @@ -368,34 +335,30 @@
> * @hibernate.id column="id"
> * generator-class="uuid.hex" unsaved-value="null"
> */
> - public String getId()
> - {
> + public String getId() {
> return this.id;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setId(String id)
> - {
> + public void setId(String id) {
> this.id = id;
> }
> -
> +
> /**
> * Short URL safe string that uniquely identifies the website.
> * @ejb:persistent-field
> * @hibernate.property column="handle" non-null="true" unique="true"
> * @roller.wrapPojoMethod type="simple"
> */
> - public String getHandle()
> - {
> + public String getHandle() {
> return this.handle;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setHandle(String handle)
> - {
> + public void setHandle(String handle) {
> this.handle = handle;
> }
> -
> +
> /**
> * Name of the Website.
> *
> @@ -403,17 +366,15 @@
> * @ejb:persistent-field
> * @hibernate.property column="name" non-null="true" unique="false"
> */
> - public String getName()
> - {
> + public String getName() {
> return this.name;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setName(String name)
> - {
> + public void setName(String name) {
> this.name = name;
> }
> -
> +
> /**
> * Description
> *
> @@ -421,17 +382,15 @@
> * @ejb:persistent-field
> * @hibernate.property column="description" non-null="true" unique="false"
> */
> - public String getDescription()
> - {
> + public String getDescription() {
> return this.description;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setDescription(String description)
> - {
> + public void setDescription(String description) {
> this.description = description;
> }
> -
> +
> /**
> * Original creator of website
> *
> @@ -439,152 +398,134 @@
> * @ejb:persistent-field
> * @hibernate.many-to-one column="userid" cascade="none" not-null="true"
> */
> - public org.roller.pojos.UserData getCreator()
> - {
> + public org.roller.pojos.UserData getCreator() {
> return creator;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setCreator( org.roller.pojos.UserData ud )
> - {
> + public void setCreator( org.roller.pojos.UserData ud ) {
> creator = ud;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="defaultpageid" non-null="true" unique="false"
> */
> - public String getDefaultPageId()
> - {
> + public String getDefaultPageId() {
> return this.defaultPageId;
> }
> -
> +
> /**
> * @ejb:persistent-field
> */
> - public void setDefaultPageId(String defaultPageId)
> - {
> + public void setDefaultPageId(String defaultPageId) {
> this.defaultPageId = defaultPageId;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @deprecated
> * @ejb:persistent-field
> * @hibernate.property column="weblogdayid" non-null="true" unique="false"
> */
> - public String getWeblogDayPageId()
> - {
> + public String getWeblogDayPageId() {
> return this.weblogDayPageId;
> }
> -
> +
> /**
> * @deprecated
> * @ejb:persistent-field
> */
> - public void setWeblogDayPageId(String weblogDayPageId)
> - {
> + public void setWeblogDayPageId(String weblogDayPageId) {
> this.weblogDayPageId = weblogDayPageId;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="enablebloggerapi" non-null="true" unique="false"
> */
> - public Boolean getEnableBloggerApi()
> - {
> + public Boolean getEnableBloggerApi() {
> return this.enableBloggerApi;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEnableBloggerApi(Boolean enableBloggerApi)
> - {
> + public void setEnableBloggerApi(Boolean enableBloggerApi) {
> this.enableBloggerApi = enableBloggerApi;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.many-to-one column="bloggercatid" non-null="false"
> */
> - public WeblogCategoryData getBloggerCategory()
> - {
> + public WeblogCategoryData getBloggerCategory() {
> return bloggerCategory;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setBloggerCategory(WeblogCategoryData bloggerCategory)
> - {
> + public void setBloggerCategory(WeblogCategoryData bloggerCategory) {
> this.bloggerCategory = bloggerCategory;
> }
> -
> +
> /**
> * By default,the default category for a weblog is the root and all macros
> * work with the top level categories that are immediately under the root.
> * Setting a different default category allows you to partition your weblog.
> - *
> + *
> * @roller.wrapPojoMethod type="pojo"
> * @ejb:persistent-field
> * @hibernate.many-to-one column="defaultcatid" non-null="false"
> */
> - public WeblogCategoryData getDefaultCategory()
> - {
> + public WeblogCategoryData getDefaultCategory() {
> return defaultCategory;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setDefaultCategory(WeblogCategoryData defaultCategory)
> - {
> + public void setDefaultCategory(WeblogCategoryData defaultCategory) {
> this.defaultCategory = defaultCategory;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="editorpage" non-null="true" unique="false"
> */
> - public String getEditorPage()
> - {
> + public String getEditorPage() {
> return this.editorPage;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEditorPage(String editorPage)
> - {
> + public void setEditorPage(String editorPage) {
> this.editorPage = editorPage;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="blacklist" non-null="true" unique="false"
> */
> - public String getBlacklist()
> - {
> + public String getBlacklist() {
> return this.blacklist;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setBlacklist(String blacklist)
> - {
> + public void setBlacklist(String blacklist) {
> this.blacklist = blacklist;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="allowcomments" non-null="true" unique="false"
> */
> - public Boolean getAllowComments()
> - {
> + public Boolean getAllowComments() {
> return this.allowComments;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setAllowComments(Boolean allowComments)
> - {
> + public void setAllowComments(Boolean allowComments) {
> this.allowComments = allowComments;
> }
>
> @@ -596,12 +537,12 @@
> public Boolean getDefaultAllowComments() {
> return defaultAllowComments;
> }
> -
> +
> /** @ejb:persistent-field */
> public void setDefaultAllowComments(Boolean defaultAllowComments) {
> this.defaultAllowComments = defaultAllowComments;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> @@ -610,12 +551,12 @@
> public int getDefaultCommentDays() {
> return defaultCommentDays;
> }
> -
> +
> /** @ejb:persistent-field */
> public void setDefaultCommentDays(int defaultCommentDays) {
> this.defaultCommentDays = defaultCommentDays;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> @@ -624,25 +565,23 @@
> public Boolean getModerateComments() {
> return moderateComments;
> }
> -
> +
> /** @ejb:persistent-field */
> public void setModerateComments(Boolean moderateComments) {
> this.moderateComments = moderateComments;
> }
> -
> +
> /**
> * @roller.wrapPojoMethod type="simple"
> * @ejb:persistent-field
> * @hibernate.property column="emailcomments" non-null="true" unique="false"
> */
> - public Boolean getEmailComments()
> - {
> + public Boolean getEmailComments() {
> return this.emailComments;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEmailComments(Boolean emailComments)
> - {
> + public void setEmailComments(Boolean emailComments) {
> this.emailComments = emailComments;
> }
>
> @@ -651,14 +590,12 @@
> * @ejb:persistent-field
> * @hibernate.property column="emailfromaddress" non-null="true" unique="false"
> */
> - public String getEmailFromAddress()
> - {
> + public String getEmailFromAddress() {
> return this.emailFromAddress;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEmailFromAddress(String emailFromAddress)
> - {
> + public void setEmailFromAddress(String emailFromAddress) {
> this.emailFromAddress = emailFromAddress;
> }
>
> @@ -667,14 +604,12 @@
> * @roller.wrapPojoMethod type="simple"
> * @hibernate.property column="emailaddress" non-null="true" unique="false"
> */
> - public String getEmailAddress()
> - {
> + public String getEmailAddress() {
> return this.emailAddress;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEmailAddress(String emailAddress)
> - {
> + public void setEmailAddress(String emailAddress) {
> this.emailAddress = emailAddress;
> }
>
> @@ -685,17 +620,15 @@
> * @ejb:persistent-field
> * @hibernate.property column="editortheme" non-null="true" unique="false"
> */
> - public String getEditorTheme()
> - {
> + public String getEditorTheme() {
> return this.editorTheme;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setEditorTheme(String editorTheme)
> - {
> + public void setEditorTheme(String editorTheme) {
> this.editorTheme = editorTheme;
> }
> -
> +
> /**
> * Locale of the Website.
> *
> @@ -703,17 +636,15 @@
> * @ejb:persistent-field
> * @hibernate.property column="locale" non-null="true" unique="false"
> */
> - public String getLocale()
> - {
> + public String getLocale() {
> return this.locale;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setLocale(String locale)
> - {
> + public void setLocale(String locale) {
> this.locale = locale;
> }
> -
> +
> /**
> * Timezone of the Website.
> *
> @@ -721,45 +652,35 @@
> * @ejb:persistent-field
> * @hibernate.property column="timeZone" non-null="true" unique="false"
> */
> - public String getTimeZone()
> - {
> + public String getTimeZone() {
> return this.timeZone;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setTimeZone(String timeZone)
> - {
> + public void setTimeZone(String timeZone) {
> this.timeZone = timeZone;
> }
> -
> - /**
> - * @ejb:persistent-field
> - * @hibernate.property column="datecreated" non-null="true" unique="false"
> - */
> - public Date getDateCreated()
> - {
> - if (dateCreated == null)
> - {
> - return null;
> - }
> - else
> - {
> - return (Date)dateCreated.clone();
> - }
> - }
> - /** @ejb:persistent-field */
> - public void setDateCreated(final Date date)
> - {
> - if (date != null)
> - {
> - dateCreated = (Date)date.clone();
> - }
> - else
> - {
> - dateCreated = null;
> - }
> - }
> -
> +
> + /**
> + * @ejb:persistent-field
> + * @hibernate.property column="datecreated" non-null="true" unique="false"
> + */
> + public Date getDateCreated() {
> + if (dateCreated == null) {
> + return null;
> + } else {
> + return (Date)dateCreated.clone();
> + }
> + }
> + /** @ejb:persistent-field */
> + public void setDateCreated(final Date date) {
> + if (date != null) {
> + dateCreated = (Date)date.clone();
> + } else {
> + dateCreated = null;
> + }
> + }
> +
> /**
> * Comma-delimited list of user's default Plugins.
> *
> @@ -767,47 +688,42 @@
> * @ejb:persistent-field
> * @hibernate.property column="defaultplugins" non-null="false" unique="false"
> */
> - public String getDefaultPlugins()
> - {
> + public String getDefaultPlugins() {
> return defaultPlugins;
> }
> -
> +
> /** @ejb:persistent-field */
> - public void setDefaultPlugins(String string)
> - {
> + public void setDefaultPlugins(String string) {
> defaultPlugins = string;
> }
> -
> - public String toString()
> - {
> +
> + public String toString() {
> StringBuffer str = new StringBuffer("{");
> -
> +
> str.append("id=" + id + " " + "name=" + name + " " + "description=" +
> - description + " " +
> - "defaultPageId=" + defaultPageId + " " +
> - "weblogDayPageId=" + weblogDayPageId + " " +
> - "enableBloggerApi=" + enableBloggerApi + " " +
> - "bloggerCategory=" + bloggerCategory + " " +
> - "defaultCategory=" + defaultCategory + " " +
> - "editorPage=" + editorPage + " " +
> - "blacklist=" + blacklist + " " +
> - "allowComments=" + allowComments + " " +
> - "emailAddress=" + emailAddress + " " +
> - "emailComments=" + emailComments + " " +
> - "emailFromAddress=" + emailFromAddress + " " +
> - "editorTheme=" + editorTheme + " " +
> - "locale=" + locale + " " +
> - "timeZone=" + timeZone + " " +
> - "defaultPlugins=" + defaultPlugins);
> + description + " " +
> + "defaultPageId=" + defaultPageId + " " +
> + "weblogDayPageId=" + weblogDayPageId + " " +
> + "enableBloggerApi=" + enableBloggerApi + " " +
> + "bloggerCategory=" + bloggerCategory + " " +
> + "defaultCategory=" + defaultCategory + " " +
> + "editorPage=" + editorPage + " " +
> + "blacklist=" + blacklist + " " +
> + "allowComments=" + allowComments + " " +
> + "emailAddress=" + emailAddress + " " +
> + "emailComments=" + emailComments + " " +
> + "emailFromAddress=" + emailFromAddress + " " +
> + "editorTheme=" + editorTheme + " " +
> + "locale=" + locale + " " +
> + "timeZone=" + timeZone + " " +
> + "defaultPlugins=" + defaultPlugins);
> str.append('}');
> -
> +
> return (str.toString());
> }
> -
> - public boolean equals(Object pOther)
> - {
> - if (pOther instanceof WebsiteData)
> - {
> +
> + public boolean equals(Object pOther) {
> + if (pOther instanceof WebsiteData) {
> WebsiteData lTest = (WebsiteData) pOther;
> boolean lEquals = true;
> lEquals = PojoUtil.equals(lEquals, this.getId(), lTest.getId());
> @@ -821,24 +737,21 @@
> lEquals = PojoUtil.equals(lEquals, this.getDefaultCategory(), lTest.getDefaultCategory());
> lEquals = PojoUtil.equals(lEquals, this.getEditorPage(), lTest.getEditorPage());
> lEquals = PojoUtil.equals(lEquals, this.getBlacklist(), lTest.getBlacklist());
> - lEquals = PojoUtil.equals(lEquals, this.getAllowComments(), lTest.getAllowComments());
> + lEquals = PojoUtil.equals(lEquals, this.getAllowComments(), lTest.getAllowComments());
> lEquals = PojoUtil.equals(lEquals, this.getEmailComments(), lTest.getEmailComments());
> - lEquals = PojoUtil.equals(lEquals, this.getEmailAddress(), lTest.getEmailAddress());
> + lEquals = PojoUtil.equals(lEquals, this.getEmailAddress(), lTest.getEmailAddress());
> lEquals = PojoUtil.equals(lEquals, this.getEmailFromAddress(), lTest.getEmailFromAddress());
> lEquals = PojoUtil.equals(lEquals, this.getEditorTheme(), lTest.getEditorTheme());
> lEquals = PojoUtil.equals(lEquals, this.getLocale(), lTest.getLocale());
> lEquals = PojoUtil.equals(lEquals, this.getTimeZone(), lTest.getTimeZone());
> - lEquals = PojoUtil.equals(lEquals, this.getDefaultPlugins(), lTest.getDefaultPlugins());
> + lEquals = PojoUtil.equals(lEquals, this.getDefaultPlugins(), lTest.getDefaultPlugins());
> return lEquals;
> - }
> - else
> - {
> + } else {
> return false;
> }
> }
> -
> - public int hashCode()
> - {
> +
> + public int hashCode() {
> int result = 17;
> result = PojoUtil.addHashCode(result, this.id);
> result = PojoUtil.addHashCode(result, this.name);
> @@ -859,17 +772,16 @@
> result = PojoUtil.addHashCode(result, this.locale);
> result = PojoUtil.addHashCode(result, this.timeZone);
> result = PojoUtil.addHashCode(result, this.defaultPlugins);
> -
> +
> return result;
> }
> -
> +
> /**
> * Setter is needed in RollerImpl.storePersistentObject()
> */
> - public void setData(org.roller.pojos.PersistentObject otherData)
> - {
> + public void setData(org.roller.pojos.PersistentObject otherData) {
> WebsiteData other = (WebsiteData)otherData;
> -
> +
> this.id = other.getId();
> this.name = other.getName();
> this.handle = other.getHandle();
> @@ -902,30 +814,23 @@
> * @roller.wrapPojoMethod type="simple"
> * @return Locale
> */
> - public Locale getLocaleInstance()
> - {
> - if (locale != null)
> - {
> + public Locale getLocaleInstance() {
> + if (locale != null) {
> String[] localeStr = StringUtils.split(locale,"_");
> - if (localeStr.length == 1)
> - {
> + if (localeStr.length == 1) {
> if (localeStr[0] == null) localeStr[0] = "";
> return new Locale(localeStr[0]);
> - }
> - else if (localeStr.length == 2)
> - {
> + } else if (localeStr.length == 2) {
> if (localeStr[0] == null) localeStr[0] = "";
> if (localeStr[1] == null) localeStr[1] = "";
> return new Locale(localeStr[0], localeStr[1]);
> - }
> - else if (localeStr.length == 3)
> - {
> + } else if (localeStr.length == 3) {
> if (localeStr[0] == null) localeStr[0] = "";
> if (localeStr[1] == null) localeStr[1] = "";
> if (localeStr[2] == null) localeStr[2] = "";
> return new Locale(localeStr[0], localeStr[1], localeStr[2]);
> - }
> - }
> + }
> + }
> return Locale.getDefault();
> }
>
> @@ -936,45 +841,35 @@
> * @roller.wrapPojoMethod type="simple"
> * @return TimeZone
> */
> - public TimeZone getTimeZoneInstance()
> - {
> - if (timeZone == null)
> - {
> - if (TimeZone.getDefault() != null)
> - {
> + public TimeZone getTimeZoneInstance() {
> + if (timeZone == null) {
> + if (TimeZone.getDefault() != null) {
> this.setTimeZone( TimeZone.getDefault().getID() );
> - }
> - else
> - {
> + } else {
> this.setTimeZone("America/New_York");
> }
> }
> return TimeZone.getTimeZone(timeZone);
> }
> -
> -
> +
> +
> /**
> * Returns true if user has all permissions specified by mask.
> */
> - public boolean hasUserPermissions(UserData user, short mask)
> - {
> + public boolean hasUserPermissions(UserData user, short mask) {
> // look for user in website's permissions
> PermissionsData userPerms = null;
> Iterator iter = getPermissions().iterator();
> - while (iter.hasNext())
> - {
> + while (iter.hasNext()) {
> PermissionsData perms = (PermissionsData) iter.next();
> - if (perms.getUser().getId().equals(user.getId()))
> - {
> + if (perms.getUser().getId().equals(user.getId())) {
> userPerms = perms;
> break;
> }
> }
> // if we found one, does it satisfy the mask?
> - if (userPerms != null && !userPerms.isPending())
> - {
> - if (userPerms != null && (userPerms.getPermissionMask() & mask) == mask)
> - {
> + if (userPerms != null && !userPerms.isPending()) {
> + if (userPerms != null && (userPerms.getPermissionMask() & mask) == mask) {
> return true;
> }
> }
> @@ -984,28 +879,23 @@
> }
>
> /** Get number of users associated with website */
> - public int getUserCount()
> - {
> + public int getUserCount() {
> return getPermissions().size();
> }
>
> /** No-op needed to please XDoclet generated code */
> - private int userCount = 0;
> - public void setUserCount(int userCount)
> - {
> + private int userCount = 0;
> + public void setUserCount(int userCount) {
> // no-op
> }
>
> - public int getAdminUserCount()
> - {
> + public int getAdminUserCount() {
> int count = 0;
> PermissionsData userPerms = null;
> Iterator iter = getPermissions().iterator();
> - while (iter.hasNext())
> - {
> + while (iter.hasNext()) {
> PermissionsData perms = (PermissionsData) iter.next();
> - if (perms.getPermissionMask() == PermissionsData.ADMIN)
> - {
> + if (perms.getPermissionMask() == PermissionsData.ADMIN) {
> count++;
> }
> }
> @@ -1013,12 +903,11 @@
> }
>
> /** No-op needed to please XDoclet generated code */
> - private int adminUserCount = 0;
> - public void setAdminUserCount(int adminUserCount)
> - {
> + private int adminUserCount = 0;
> + public void setAdminUserCount(int adminUserCount) {
> // no-op
> }
> -
> +
>
> /**
> * @roller.wrapPojoMethod type="simple"
> @@ -1028,14 +917,14 @@
> public int getEntryDisplayCount() {
> return entryDisplayCount;
> }
> -
> +
> /**
> * @ejb:persistent-field
> */
> public void setEntryDisplayCount(int entryDisplayCount) {
> this.entryDisplayCount = entryDisplayCount;
> }
> -
> +
> /**
> * Set to FALSE to completely disable and hide this weblog from public view.
> *
> @@ -1043,19 +932,17 @@
> * @ejb:persistent-field
> * @hibernate.property column="isenabled" non-null="true" unique="false"
> */
> - public Boolean getEnabled()
> - {
> + public Boolean getEnabled() {
> return this.enabled;
> }
>
> - /** @ejb:persistent-field */
> - public void setEnabled(Boolean enabled)
> - {
> + /** @ejb:persistent-field */
> + public void setEnabled(Boolean enabled) {
> this.enabled = enabled;
> }
>
> /**
> - * Set to FALSE to exclude this weblog from community areas such as the
> + * Set to FALSE to exclude this weblog from community areas such as the
> * front page and the planet page.
> *
> * @roller.wrapPojoMethod type="simple"
> @@ -1065,10 +952,20 @@
> public Boolean getActive() {
> return active;
> }
> -
> +
> public void setActive(Boolean active) {
> this.active = active;
> }
>
> + /**
> + * Returns true if comment moderation is required by website or config.
> + */
> + public boolean getCommentModerationRequired() {
> + return getModerateComments()
> + || RollerRuntimeConfig.getBooleanProperty("users.moderation.required");
> + }
> +
> + /** No-op */
> + public void setCommentModerationRequired(boolean modRequired) {}
> }
>
>
> Modified: incubator/roller/trunk/src/org/roller/presentation/website/actions/CreateWebsiteAction.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/CreateWebsiteAction.java?rev=395471&r1=395470&r2=395471&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/website/actions/CreateWebsiteAction.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/website/actions/CreateWebsiteAction.java Wed Apr 19 20:40:46 2006
> @@ -136,32 +136,18 @@
> }
> }
>
> - WebsiteData newWebsite = new WebsiteData(
> - null, // id
> - form.getName(), // name
> - form.getHandle(), // handle
> - form.getDescription(), // description
> - user, // userId
> - "dummy", // defaultPageId
> - "dummy", // weblogDayPageId
> - Boolean.TRUE, // enableBloggerApi
> - null, // bloggerCategory
> - null, // defaultCategory
> - "editor-text.jsp", // editorPage
> - "", // blacklist
> - Boolean.TRUE, // allowComments
> - Boolean.FALSE, // emailComments
> - "", // emailFromAddress
> - Boolean.TRUE, // isEnabled
> - form.getEmailAddress(), // emailAddress
> - new java.util.Date(), // dateCreated
> - Boolean.TRUE, // defaultAllowComments
> - 0, // defaultCommentDays
> - Boolean.FALSE); // moderateComments
> - newWebsite.setEditorTheme(form.getTheme());
> - newWebsite.setLocale(form.getLocale());
> - newWebsite.setTimeZone(form.getTimeZone());
> - mgr.addWebsite(newWebsite);
> + WebsiteData wd = new WebsiteData(
> + form.getHandle(),
> + user,
> + form.getName(),
> + form.getDescription(),
> + form.getEmailAddress(),
> + form.getEmailAddress(),
> + form.getTheme(),
> + form.getLocale(),
> + form.getTimeZone());
> + wd.setEditorPage(RollerConfig.getProperty("newweblog.editor"));
> + mgr.addWebsite(wd);
>
> RollerFactory.getRoller().flush();
>
>
> Modified: incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java?rev=395471&r1=395470&r2=395471&view=diff
> ==============================================================================
> --- incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java (original)
> +++ incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java Wed Apr 19 20:40:46 2006
> @@ -296,6 +296,8 @@
> public class WebsitePageModel extends BasePageModel {
> private List permissions = new ArrayList();
> private boolean groupBloggingEnabled = false;
> + private boolean emailNotificationEnabled = false;
> + private boolean moderationRequired = false;
> public WebsitePageModel(
> String titleKey,
> HttpServletRequest request,
> @@ -309,15 +311,21 @@
> UserData user = rollerSession.getAuthenticatedUser();
> permissions = roller.getUserManager().getAllPermissions(website);
> groupBloggingEnabled =
> - RollerConfig.getBooleanProperty("groupblogging.enabled");
> + RollerConfig.getBooleanProperty("groupblogging.enabled");
> + emailNotificationEnabled =
> + RollerRuntimeConfig.getBooleanProperty("users.comments.emailnotify");
> + moderationRequired =
> + RollerRuntimeConfig.getBooleanProperty("users.moderation.required");
> }
> public boolean isGroupBloggingEnabled() {
> return groupBloggingEnabled;
> }
> - public void setGroupBloggingEnabled(boolean groupBloggingEnabled) {
> - this.groupBloggingEnabled = groupBloggingEnabled;
> + public boolean isEmailNotificationEnabled() {
> + return emailNotificationEnabled;
> + }
> + public boolean isModerationRequired() {
> + return moderationRequired;
> }
> -
> public boolean getHasPagePlugins() {
> boolean ret = false;
> try {
>
>
Re: svn commit: r395471 - in /incubator/roller/trunk/src/org/roller:
pojos/WebsiteData.java presentation/website/actions/CreateWebsiteAction.java
presentation/website/actions/WebsiteFormAction.java
Posted by David M Johnson <Da...@Sun.COM>.
Good point. I'm going to make it so the first editor in the list of
of editors is considered to be the default. That way, we'll need no
new property.
- Dave
On Apr 20, 2006, at 12:21 PM, Allen Gilliland wrote:
> Dave,
>
> I am thinking that the default editor may be better as a runtime
> config property. I'm can't think of any real reason why it has to
> be static.
>
> -- Allen
>
>
> snoopdave@apache.org wrote:
>> Author: snoopdave
>> Date: Wed Apr 19 20:40:46 2006
>> New Revision: 395471
>> URL: http://svn.apache.org/viewcvs?rev=395471&view=rev
>> Log:
>> ROL-1116: default editor is now configurable (static config)
>> Modified:
>> incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java
>> incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/CreateWebsiteAction.java
>> incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/WebsiteFormAction.java
>> Modified: incubator/roller/trunk/src/org/roller/pojos/
>> WebsiteData.java
>> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/
>> roller/pojos/WebsiteData.java?
>> rev=395471&r1=395470&r2=395471&view=diff
>> =====================================================================
>> =========
>> --- incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java
>> (original)
>> +++ incubator/roller/trunk/src/org/roller/pojos/WebsiteData.java
>> Wed Apr 19 20:40:46 2006
>> @@ -7,26 +7,24 @@
>> import java.util.List;
>> import java.util.Locale;
>> import java.util.Map;
>> -import java.util.StringTokenizer;
>> import java.util.TimeZone;
>> -import java.util.regex.Pattern;
>> import org.apache.commons.lang.StringUtils;
>> import org.roller.RollerException;
>> -import org.roller.model.Roller;
>> import org.roller.model.RollerFactory;
>> import org.roller.util.PojoUtil;
>> import org.apache.commons.logging.Log;
>> import org.apache.commons.logging.LogFactory;
>> import org.roller.ThemeNotFoundException;
>> +import org.roller.config.RollerRuntimeConfig;
>> import org.roller.model.ThemeManager;
>> import org.roller.model.UserManager;
>> /**
>> - * Website has many-to-many association with users. Website has
>> one-to-many and + * Website has many-to-many association with
>> users. Website has one-to-many and
>> * one-direction associations with weblog entries, weblog
>> categories, folders and
>> * other objects. Use UserManager to create, fetch, update and
>> retreive websites.
>> - * + *
>> * @author David M Johnson
>> *
>> * @ejb:bean name="WebsiteData"
>> @@ -35,119 +33,88 @@
>> * @hibernate.cache usage="read-write"
>> */
>> public class WebsiteData extends org.roller.pojos.PersistentObject
>> - implements java.io.Serializable
>> -{
>> + implements java.io.Serializable {
>> public static final long serialVersionUID = 206437645033737127L;
>> private static Log mLogger = LogFactory.getLog
>> (WebsiteData.class);
>> // Simple properties
>> - private String id = null;
>> - private String handle = null;
>> - private String name = null;
>> - private String description = null;
>> - private String defaultPageId = "dummy";
>> - private String weblogDayPageId = "dummy";
>> + private String id = null;
>> + private String handle = null;
>> + private String name = null;
>> + private String description = null;
>> + private String defaultPageId = "dummy";
>> + private String weblogDayPageId = "dummy";
>> private Boolean enableBloggerApi = Boolean.TRUE;
>> - private String editorPage = null;
>> - private String blacklist = null;
>> - private Boolean allowComments = Boolean.TRUE;
>> - private Boolean emailComments = Boolean.FALSE;
>> + private String editorPage = null;
>> + private String blacklist = null;
>> + private Boolean allowComments = Boolean.TRUE;
>> + private Boolean emailComments = Boolean.FALSE;
>> private String emailFromAddress = null;
>> - private String emailAddress = null;
>> - private String editorTheme = null;
>> - private String locale = null;
>> - private String timeZone = null;
>> - private String defaultPlugins = null;
>> - private Boolean enabled = Boolean.TRUE; - private Boolean
>> active = Boolean.TRUE;
>> - private Date dateCreated = null;
>> + private String emailAddress = null;
>> + private String editorTheme = null;
>> + private String locale = null;
>> + private String timeZone = null;
>> + private String defaultPlugins = null;
>> + private Boolean enabled = Boolean.TRUE;
>> + private Boolean active = Boolean.TRUE;
>> + private Date dateCreated = null;
>> private Boolean defaultAllowComments = Boolean.TRUE;
>> - private int defaultCommentDays = 0;
>> - private Boolean moderateComments = Boolean.FALSE;
>> - private int entryDisplayCount = 15;
>> - + private int defaultCommentDays = 0;
>> + private Boolean moderateComments = Boolean.FALSE;
>> + private int entryDisplayCount = 15;
>> + // Associated objects
>> private UserData creator = null; // TODO: decide if
>> website.user is needed
>> - private List permissions = new ArrayList(); +
>> private List permissions = new ArrayList();
>> private WeblogCategoryData bloggerCategory = null;
>> private WeblogCategoryData defaultCategory = null;
>> -
>> -
>> - public WebsiteData()
>> - {
>> + + public WebsiteData() { }
>> -
>> - public WebsiteData(final String id, -
>> final String name,
>> - final String handle,
>> - final String description,
>> - final UserData user,
>> - final String defaultPageId,
>> - final String weblogDayPageId,
>> - final Boolean enableBloggerApi,
>> - final WeblogCategoryData bloggerCategory,
>> - final WeblogCategoryData defaultCategory,
>> - final String editorPage,
>> - final String blacklist,
>> - final Boolean allowComments,
>> - final Boolean emailComments,
>> - final String emailFromAddress,
>> - final Boolean enabled,
>> - final String emailAddress,
>> - final Date dateCreated,
>> - final Boolean defaultAllowComments,
>> - final int defaultCommentDays,
>> - final Boolean moderateComments
>> - )
>> - {
>> - this.id = id;
>> - this.name = name;
>> + + public WebsiteData(
>> + String handle,
>> + UserData creator,
>> + String name,
>> + String desc,
>> + String email,
>> + String emailFrom,
>> + String editorTheme,
>> + String locale,
>> + String timeZone) {
>> + this.handle = handle;
>> - this.description = description;
>> - this.creator = user;
>> - this.defaultPageId = defaultPageId;
>> - this.weblogDayPageId = weblogDayPageId;
>> - this.enableBloggerApi = enableBloggerApi;
>> - this.bloggerCategory = bloggerCategory;
>> - this.defaultCategory = defaultCategory;
>> - this.editorPage = editorPage;
>> - this.blacklist = blacklist;
>> - this.allowComments = allowComments;
>> - this.emailComments = emailComments;
>> - this.emailFromAddress = emailFromAddress;
>> - this.enabled = enabled;
>> - this.emailAddress = emailAddress;
>> - this.defaultAllowComments = defaultAllowComments;
>> - this.defaultCommentDays = defaultCommentDays;
>> - this.moderateComments = moderateComments;
>> - this.dateCreated = dateCreated;
>> + this.creator = creator;
>> + this.name = name;
>> + this.description = desc;
>> + this.emailAddress = email;
>> + this.emailFromAddress = emailFrom;
>> + this.editorTheme = editorTheme;
>> + this.locale = locale;
>> + this.timeZone = timeZone;
>> }
>> -
>> - public WebsiteData(WebsiteData otherData)
>> - {
>> + + public WebsiteData(WebsiteData otherData) {
>> this.setData(otherData);
>> }
>> -
>> - /** + + /**
>> * @hibernate.bag lazy="true" inverse="true" cascade="delete"
>> * @hibernate.collection-key column="website_id"
>> - * @hibernate.collection-one-to-many + *
>> @hibernate.collection-one-to-many
>> * class="org.roller.pojos.PermissionsData"
>> */
>> - public List getPermissions() - {
>> + public List getPermissions() {
>> return permissions;
>> }
>> - public void setPermissions(List perms)
>> - {
>> + public void setPermissions(List perms) {
>> permissions = perms;
>> }
>> - /** + /**
>> * Remove permission from collection.
>> */
>> - public void removePermission(PermissionsData perms)
>> - {
>> + public void removePermission(PermissionsData perms) {
>> permissions.remove(perms);
>> }
>> @@ -252,7 +219,7 @@
>> ThemeManager themeMgr = RollerFactory.getRoller
>> ().getThemeManager();
>> Theme usersTheme = themeMgr.getTheme
>> (this.editorTheme);
>> template = usersTheme.getTemplate(name);
>> -
>> + } catch(ThemeNotFoundException tnfe) {
>> // i sure hope not!
>> mLogger.error(tnfe);
>> @@ -293,7 +260,7 @@
>> ThemeManager themeMgr = RollerFactory.getRoller
>> ().getThemeManager();
>> Theme usersTheme = themeMgr.getTheme
>> (this.editorTheme);
>> template = usersTheme.getTemplateByLink(link);
>> -
>> + } catch(ThemeNotFoundException tnfe) {
>> // i sure hope not!
>> mLogger.error(tnfe);
>> @@ -335,7 +302,7 @@
>> mLogger.error(e);
>> }
>> - + // now get theme pages if
>> needed and put them in place of db pages
>> if(this.editorTheme != null && !this.editorTheme.equals
>> (Theme.CUSTOM)) {
>> try {
>> @@ -368,34 +335,30 @@
>> * @hibernate.id column="id"
>> * generator-class="uuid.hex" unsaved-value="null"
>> */
>> - public String getId()
>> - {
>> + public String getId() {
>> return this.id;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setId(String id)
>> - {
>> + public void setId(String id) {
>> this.id = id;
>> }
>> -
>> + /**
>> * Short URL safe string that uniquely identifies the website.
>> * @ejb:persistent-field
>> * @hibernate.property column="handle" non-null="true"
>> unique="true"
>> * @roller.wrapPojoMethod type="simple"
>> */
>> - public String getHandle()
>> - {
>> + public String getHandle() {
>> return this.handle;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setHandle(String handle)
>> - {
>> + public void setHandle(String handle) {
>> this.handle = handle;
>> }
>> -
>> + /**
>> * Name of the Website.
>> *
>> @@ -403,17 +366,15 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="name" non-null="true"
>> unique="false"
>> */
>> - public String getName()
>> - {
>> + public String getName() {
>> return this.name;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setName(String name)
>> - {
>> + public void setName(String name) {
>> this.name = name;
>> }
>> -
>> + /**
>> * Description
>> *
>> @@ -421,17 +382,15 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="description" non-null="true"
>> unique="false"
>> */
>> - public String getDescription()
>> - {
>> + public String getDescription() {
>> return this.description;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setDescription(String description)
>> - {
>> + public void setDescription(String description) {
>> this.description = description;
>> }
>> -
>> + /**
>> * Original creator of website
>> *
>> @@ -439,152 +398,134 @@
>> * @ejb:persistent-field
>> * @hibernate.many-to-one column="userid" cascade="none" not-
>> null="true"
>> */
>> - public org.roller.pojos.UserData getCreator()
>> - {
>> + public org.roller.pojos.UserData getCreator() {
>> return creator;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setCreator( org.roller.pojos.UserData ud )
>> - {
>> + public void setCreator( org.roller.pojos.UserData ud ) {
>> creator = ud;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="defaultpageid" non-null="true"
>> unique="false"
>> */
>> - public String getDefaultPageId()
>> - {
>> + public String getDefaultPageId() {
>> return this.defaultPageId;
>> }
>> -
>> + /**
>> * @ejb:persistent-field
>> */
>> - public void setDefaultPageId(String defaultPageId)
>> - {
>> + public void setDefaultPageId(String defaultPageId) {
>> this.defaultPageId = defaultPageId;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @deprecated
>> * @ejb:persistent-field
>> * @hibernate.property column="weblogdayid" non-null="true"
>> unique="false"
>> */
>> - public String getWeblogDayPageId()
>> - {
>> + public String getWeblogDayPageId() {
>> return this.weblogDayPageId;
>> }
>> -
>> + /**
>> * @deprecated
>> * @ejb:persistent-field
>> */
>> - public void setWeblogDayPageId(String weblogDayPageId)
>> - {
>> + public void setWeblogDayPageId(String weblogDayPageId) {
>> this.weblogDayPageId = weblogDayPageId;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="enablebloggerapi" non-
>> null="true" unique="false"
>> */
>> - public Boolean getEnableBloggerApi()
>> - {
>> + public Boolean getEnableBloggerApi() {
>> return this.enableBloggerApi;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEnableBloggerApi(Boolean enableBloggerApi)
>> - {
>> + public void setEnableBloggerApi(Boolean enableBloggerApi) {
>> this.enableBloggerApi = enableBloggerApi;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.many-to-one column="bloggercatid" non-null="false"
>> */
>> - public WeblogCategoryData getBloggerCategory()
>> - {
>> + public WeblogCategoryData getBloggerCategory() {
>> return bloggerCategory;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setBloggerCategory(WeblogCategoryData
>> bloggerCategory)
>> - {
>> + public void setBloggerCategory(WeblogCategoryData
>> bloggerCategory) {
>> this.bloggerCategory = bloggerCategory;
>> }
>> -
>> + /**
>> * By default,the default category for a weblog is the root
>> and all macros
>> * work with the top level categories that are immediately
>> under the root.
>> * Setting a different default category allows you to
>> partition your weblog.
>> - * + *
>> * @roller.wrapPojoMethod type="pojo"
>> * @ejb:persistent-field
>> * @hibernate.many-to-one column="defaultcatid" non-null="false"
>> */
>> - public WeblogCategoryData getDefaultCategory() - {
>> + public WeblogCategoryData getDefaultCategory() {
>> return defaultCategory;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setDefaultCategory(WeblogCategoryData
>> defaultCategory)
>> - {
>> + public void setDefaultCategory(WeblogCategoryData
>> defaultCategory) {
>> this.defaultCategory = defaultCategory;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="editorpage" non-null="true"
>> unique="false"
>> */
>> - public String getEditorPage()
>> - {
>> + public String getEditorPage() {
>> return this.editorPage;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEditorPage(String editorPage)
>> - {
>> + public void setEditorPage(String editorPage) {
>> this.editorPage = editorPage;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="blacklist" non-null="true"
>> unique="false"
>> */
>> - public String getBlacklist()
>> - {
>> + public String getBlacklist() {
>> return this.blacklist;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setBlacklist(String blacklist)
>> - {
>> + public void setBlacklist(String blacklist) {
>> this.blacklist = blacklist;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="allowcomments" non-null="true"
>> unique="false"
>> */
>> - public Boolean getAllowComments()
>> - {
>> + public Boolean getAllowComments() {
>> return this.allowComments;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setAllowComments(Boolean allowComments)
>> - {
>> + public void setAllowComments(Boolean allowComments) {
>> this.allowComments = allowComments;
>> }
>> @@ -596,12 +537,12 @@
>> public Boolean getDefaultAllowComments() {
>> return defaultAllowComments;
>> }
>> -
>> + /** @ejb:persistent-field */
>> public void setDefaultAllowComments(Boolean
>> defaultAllowComments) {
>> this.defaultAllowComments = defaultAllowComments;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> @@ -610,12 +551,12 @@
>> public int getDefaultCommentDays() {
>> return defaultCommentDays;
>> }
>> -
>> + /** @ejb:persistent-field */
>> public void setDefaultCommentDays(int defaultCommentDays) {
>> this.defaultCommentDays = defaultCommentDays;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> @@ -624,25 +565,23 @@
>> public Boolean getModerateComments() {
>> return moderateComments;
>> }
>> -
>> + /** @ejb:persistent-field */
>> public void setModerateComments(Boolean moderateComments) {
>> this.moderateComments = moderateComments;
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> * @ejb:persistent-field
>> * @hibernate.property column="emailcomments" non-null="true"
>> unique="false"
>> */
>> - public Boolean getEmailComments()
>> - {
>> + public Boolean getEmailComments() {
>> return this.emailComments;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEmailComments(Boolean emailComments)
>> - {
>> + public void setEmailComments(Boolean emailComments) {
>> this.emailComments = emailComments;
>> }
>> @@ -651,14 +590,12 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="emailfromaddress" non-
>> null="true" unique="false"
>> */
>> - public String getEmailFromAddress()
>> - {
>> + public String getEmailFromAddress() {
>> return this.emailFromAddress;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEmailFromAddress(String emailFromAddress)
>> - {
>> + public void setEmailFromAddress(String emailFromAddress) {
>> this.emailFromAddress = emailFromAddress;
>> }
>> @@ -667,14 +604,12 @@
>> * @roller.wrapPojoMethod type="simple"
>> * @hibernate.property column="emailaddress" non-null="true"
>> unique="false"
>> */
>> - public String getEmailAddress()
>> - {
>> + public String getEmailAddress() {
>> return this.emailAddress;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEmailAddress(String emailAddress)
>> - {
>> + public void setEmailAddress(String emailAddress) {
>> this.emailAddress = emailAddress;
>> }
>> @@ -685,17 +620,15 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="editortheme" non-null="true"
>> unique="false"
>> */
>> - public String getEditorTheme()
>> - {
>> + public String getEditorTheme() {
>> return this.editorTheme;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setEditorTheme(String editorTheme)
>> - {
>> + public void setEditorTheme(String editorTheme) {
>> this.editorTheme = editorTheme;
>> }
>> -
>> + /**
>> * Locale of the Website.
>> *
>> @@ -703,17 +636,15 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="locale" non-null="true"
>> unique="false"
>> */
>> - public String getLocale()
>> - {
>> + public String getLocale() {
>> return this.locale;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setLocale(String locale)
>> - {
>> + public void setLocale(String locale) {
>> this.locale = locale;
>> }
>> -
>> + /**
>> * Timezone of the Website.
>> *
>> @@ -721,45 +652,35 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="timeZone" non-null="true"
>> unique="false"
>> */
>> - public String getTimeZone()
>> - {
>> + public String getTimeZone() {
>> return this.timeZone;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setTimeZone(String timeZone)
>> - {
>> + public void setTimeZone(String timeZone) {
>> this.timeZone = timeZone;
>> }
>> -
>> - /** - * @ejb:persistent-field - * @hibernate.property
>> column="datecreated" non-null="true" unique="false"
>> - */
>> - public Date getDateCreated()
>> - {
>> - if (dateCreated == null) - {
>> - return null;
>> - }
>> - else - {
>> - return (Date)dateCreated.clone();
>> - }
>> - }
>> - /** @ejb:persistent-field */ - public void setDateCreated
>> (final Date date)
>> - {
>> - if (date != null) - {
>> - dateCreated = (Date)date.clone();
>> - }
>> - else
>> - {
>> - dateCreated = null;
>> - }
>> - }
>> -
>> + + /**
>> + * @ejb:persistent-field
>> + * @hibernate.property column="datecreated" non-null="true"
>> unique="false"
>> + */
>> + public Date getDateCreated() {
>> + if (dateCreated == null) {
>> + return null;
>> + } else {
>> + return (Date)dateCreated.clone();
>> + }
>> + }
>> + /** @ejb:persistent-field */
>> + public void setDateCreated(final Date date) {
>> + if (date != null) {
>> + dateCreated = (Date)date.clone();
>> + } else {
>> + dateCreated = null;
>> + }
>> + }
>> + /**
>> * Comma-delimited list of user's default Plugins.
>> *
>> @@ -767,47 +688,42 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="defaultplugins" non-
>> null="false" unique="false"
>> */
>> - public String getDefaultPlugins()
>> - {
>> + public String getDefaultPlugins() {
>> return defaultPlugins;
>> }
>> -
>> + /** @ejb:persistent-field */
>> - public void setDefaultPlugins(String string)
>> - {
>> + public void setDefaultPlugins(String string) {
>> defaultPlugins = string;
>> }
>> -
>> - public String toString()
>> - {
>> + + public String toString() {
>> StringBuffer str = new StringBuffer("{");
>> -
>> + str.append("id=" + id + " " + "name=" + name + "
>> " + "description=" +
>> - description + " " +
>> - "defaultPageId=" + defaultPageId + " " +
>> - "weblogDayPageId=" + weblogDayPageId + " " +
>> - "enableBloggerApi=" + enableBloggerApi + " " +
>> - "bloggerCategory=" + bloggerCategory + " " +
>> - "defaultCategory=" + defaultCategory + " " +
>> - "editorPage=" + editorPage + " " +
>> - "blacklist=" + blacklist + " " +
>> - "allowComments=" + allowComments + " " +
>> - "emailAddress=" + emailAddress + " " +
>> - "emailComments=" + emailComments + " " +
>> - "emailFromAddress=" + emailFromAddress + " " +
>> - "editorTheme=" + editorTheme + " " +
>> - "locale=" + locale + " " +
>> - "timeZone=" + timeZone + " " +
>> - "defaultPlugins=" + defaultPlugins);
>> + description + " " +
>> + "defaultPageId=" + defaultPageId + " " +
>> + "weblogDayPageId=" + weblogDayPageId + " " +
>> + "enableBloggerApi=" + enableBloggerApi + " " +
>> + "bloggerCategory=" + bloggerCategory + " " +
>> + "defaultCategory=" + defaultCategory + " " +
>> + "editorPage=" + editorPage + " " +
>> + "blacklist=" + blacklist + " " +
>> + "allowComments=" + allowComments + " " +
>> + "emailAddress=" + emailAddress + " " +
>> + "emailComments=" + emailComments + " " +
>> + "emailFromAddress=" + emailFromAddress + " " +
>> + "editorTheme=" + editorTheme + " " +
>> + "locale=" + locale + " " +
>> + "timeZone=" + timeZone + " " +
>> + "defaultPlugins=" + defaultPlugins);
>> str.append('}');
>> -
>> + return (str.toString());
>> }
>> -
>> - public boolean equals(Object pOther)
>> - {
>> - if (pOther instanceof WebsiteData)
>> - {
>> + + public boolean equals(Object pOther) {
>> + if (pOther instanceof WebsiteData) {
>> WebsiteData lTest = (WebsiteData) pOther;
>> boolean lEquals = true;
>> lEquals = PojoUtil.equals(lEquals, this.getId(),
>> lTest.getId());
>> @@ -821,24 +737,21 @@
>> lEquals = PojoUtil.equals(lEquals,
>> this.getDefaultCategory(), lTest.getDefaultCategory());
>> lEquals = PojoUtil.equals(lEquals, this.getEditorPage
>> (), lTest.getEditorPage());
>> lEquals = PojoUtil.equals(lEquals, this.getBlacklist
>> (), lTest.getBlacklist());
>> - lEquals = PojoUtil.equals(lEquals,
>> this.getAllowComments(), lTest.getAllowComments());
>> + lEquals = PojoUtil.equals(lEquals,
>> this.getAllowComments(), lTest.getAllowComments());
>> lEquals = PojoUtil.equals(lEquals,
>> this.getEmailComments(), lTest.getEmailComments());
>> - lEquals = PojoUtil.equals(lEquals,
>> this.getEmailAddress(), lTest.getEmailAddress());
>> + lEquals = PojoUtil.equals(lEquals,
>> this.getEmailAddress(), lTest.getEmailAddress());
>> lEquals = PojoUtil.equals(lEquals,
>> this.getEmailFromAddress(), lTest.getEmailFromAddress());
>> lEquals = PojoUtil.equals(lEquals, this.getEditorTheme
>> (), lTest.getEditorTheme());
>> lEquals = PojoUtil.equals(lEquals, this.getLocale(),
>> lTest.getLocale());
>> lEquals = PojoUtil.equals(lEquals, this.getTimeZone
>> (), lTest.getTimeZone());
>> - lEquals = PojoUtil.equals(lEquals,
>> this.getDefaultPlugins(), lTest.getDefaultPlugins());
>> + lEquals = PojoUtil.equals(lEquals,
>> this.getDefaultPlugins(), lTest.getDefaultPlugins());
>> return lEquals;
>> - }
>> - else
>> - {
>> + } else {
>> return false;
>> }
>> }
>> - - public int hashCode()
>> - {
>> + + public int hashCode() {
>> int result = 17;
>> result = PojoUtil.addHashCode(result, this.id);
>> result = PojoUtil.addHashCode(result, this.name);
>> @@ -859,17 +772,16 @@
>> result = PojoUtil.addHashCode(result, this.locale);
>> result = PojoUtil.addHashCode(result, this.timeZone);
>> result = PojoUtil.addHashCode(result, this.defaultPlugins);
>> -
>> + return result;
>> }
>> -
>> + /**
>> * Setter is needed in RollerImpl.storePersistentObject()
>> */
>> - public void setData(org.roller.pojos.PersistentObject otherData)
>> - {
>> + public void setData(org.roller.pojos.PersistentObject
>> otherData) {
>> WebsiteData other = (WebsiteData)otherData;
>> -
>> + this.id = other.getId();
>> this.name = other.getName();
>> this.handle = other.getHandle();
>> @@ -902,30 +814,23 @@
>> * @roller.wrapPojoMethod type="simple"
>> * @return Locale
>> */
>> - public Locale getLocaleInstance()
>> - {
>> - if (locale != null)
>> - {
>> + public Locale getLocaleInstance() {
>> + if (locale != null) {
>> String[] localeStr = StringUtils.split(locale,"_");
>> - if (localeStr.length == 1)
>> - {
>> + if (localeStr.length == 1) {
>> if (localeStr[0] == null) localeStr[0] = "";
>> return new Locale(localeStr[0]);
>> - }
>> - else if (localeStr.length == 2)
>> - {
>> + } else if (localeStr.length == 2) {
>> if (localeStr[0] == null) localeStr[0] = "";
>> if (localeStr[1] == null) localeStr[1] = "";
>> return new Locale(localeStr[0], localeStr[1]);
>> - }
>> - else if (localeStr.length == 3)
>> - {
>> + } else if (localeStr.length == 3) {
>> if (localeStr[0] == null) localeStr[0] = "";
>> if (localeStr[1] == null) localeStr[1] = "";
>> if (localeStr[2] == null) localeStr[2] = "";
>> return new Locale(localeStr[0], localeStr[1],
>> localeStr[2]);
>> - } - } + }
>> + }
>> return Locale.getDefault();
>> }
>> @@ -936,45 +841,35 @@
>> * @roller.wrapPojoMethod type="simple"
>> * @return TimeZone
>> */
>> - public TimeZone getTimeZoneInstance()
>> - {
>> - if (timeZone == null) - {
>> - if (TimeZone.getDefault() != null) - {
>> + public TimeZone getTimeZoneInstance() {
>> + if (timeZone == null) {
>> + if (TimeZone.getDefault() != null) {
>> this.setTimeZone( TimeZone.getDefault().getID() );
>> - }
>> - else
>> - {
>> + } else {
>> this.setTimeZone("America/New_York");
>> }
>> }
>> return TimeZone.getTimeZone(timeZone);
>> }
>> -
>> -
>> + + /**
>> * Returns true if user has all permissions specified by mask.
>> */
>> - public boolean hasUserPermissions(UserData user, short mask)
>> - {
>> + public boolean hasUserPermissions(UserData user, short mask) {
>> // look for user in website's permissions
>> PermissionsData userPerms = null;
>> Iterator iter = getPermissions().iterator();
>> - while (iter.hasNext())
>> - {
>> + while (iter.hasNext()) {
>> PermissionsData perms = (PermissionsData) iter.next();
>> - if (perms.getUser().getId().equals(user.getId()))
>> - {
>> + if (perms.getUser().getId().equals(user.getId())) {
>> userPerms = perms;
>> break;
>> }
>> }
>> // if we found one, does it satisfy the mask?
>> - if (userPerms != null && !userPerms.isPending())
>> - {
>> - if (userPerms != null && (userPerms.getPermissionMask
>> () & mask) == mask) - {
>> + if (userPerms != null && !userPerms.isPending()) {
>> + if (userPerms != null && (userPerms.getPermissionMask
>> () & mask) == mask) {
>> return true;
>> }
>> }
>> @@ -984,28 +879,23 @@
>> }
>> /** Get number of users associated with website */
>> - public int getUserCount() - {
>> + public int getUserCount() {
>> return getPermissions().size();
>> }
>> /** No-op needed to please XDoclet generated code */
>> - private int userCount = 0; - public void setUserCount(int
>> userCount)
>> - {
>> + private int userCount = 0;
>> + public void setUserCount(int userCount) {
>> // no-op
>> }
>> - public int getAdminUserCount() - {
>> + public int getAdminUserCount() {
>> int count = 0;
>> PermissionsData userPerms = null;
>> Iterator iter = getPermissions().iterator();
>> - while (iter.hasNext())
>> - {
>> + while (iter.hasNext()) {
>> PermissionsData perms = (PermissionsData) iter.next();
>> - if (perms.getPermissionMask() ==
>> PermissionsData.ADMIN) - {
>> + if (perms.getPermissionMask() ==
>> PermissionsData.ADMIN) {
>> count++;
>> }
>> }
>> @@ -1013,12 +903,11 @@
>> }
>> /** No-op needed to please XDoclet generated code */
>> - private int adminUserCount = 0; - public void
>> setAdminUserCount(int adminUserCount) - {
>> + private int adminUserCount = 0;
>> + public void setAdminUserCount(int adminUserCount) {
>> // no-op
>> }
>> -
>> + /**
>> * @roller.wrapPojoMethod type="simple"
>> @@ -1028,14 +917,14 @@
>> public int getEntryDisplayCount() {
>> return entryDisplayCount;
>> }
>> -
>> + /**
>> * @ejb:persistent-field
>> */
>> public void setEntryDisplayCount(int entryDisplayCount) {
>> this.entryDisplayCount = entryDisplayCount;
>> }
>> -
>> + /**
>> * Set to FALSE to completely disable and hide this weblog
>> from public view.
>> *
>> @@ -1043,19 +932,17 @@
>> * @ejb:persistent-field
>> * @hibernate.property column="isenabled" non-null="true"
>> unique="false"
>> */
>> - public Boolean getEnabled()
>> - {
>> + public Boolean getEnabled() {
>> return this.enabled;
>> }
>> - /** @ejb:persistent-field */ - public void setEnabled
>> (Boolean enabled)
>> - {
>> + /** @ejb:persistent-field */
>> + public void setEnabled(Boolean enabled) {
>> this.enabled = enabled;
>> }
>> /**
>> - * Set to FALSE to exclude this weblog from community areas
>> such as the + * Set to FALSE to exclude this weblog from
>> community areas such as the
>> * front page and the planet page.
>> *
>> * @roller.wrapPojoMethod type="simple"
>> @@ -1065,10 +952,20 @@
>> public Boolean getActive() {
>> return active;
>> }
>> -
>> + public void setActive(Boolean active) {
>> this.active = active;
>> }
>> + /**
>> + * Returns true if comment moderation is required by website
>> or config.
>> + */ + public boolean getCommentModerationRequired()
>> { + return getModerateComments() + ||
>> RollerRuntimeConfig.getBooleanProperty("users.moderation.required");
>> + }
>> + + /** No-op */
>> + public void setCommentModerationRequired(boolean modRequired)
>> {} }
>> Modified: incubator/roller/trunk/src/org/roller/presentation/
>> website/actions/CreateWebsiteAction.java
>> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/
>> roller/presentation/website/actions/CreateWebsiteAction.java?
>> rev=395471&r1=395470&r2=395471&view=diff
>> =====================================================================
>> =========
>> --- incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/CreateWebsiteAction.java (original)
>> +++ incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/CreateWebsiteAction.java Wed Apr 19 20:40:46 2006
>> @@ -136,32 +136,18 @@
>> }
>> }
>> - WebsiteData newWebsite = new WebsiteData(
>> - null, // id
>> - form.getName(), // name
>> - form.getHandle(), // handle
>> - form.getDescription(), // description
>> - user, // userId
>> - "dummy", // defaultPageId
>> - "dummy", //
>> weblogDayPageId
>> - Boolean.TRUE, //
>> enableBloggerApi
>> - null, //
>> bloggerCategory
>> - null, //
>> defaultCategory
>> - "editor-text.jsp", // editorPage
>> - "", // blacklist
>> - Boolean.TRUE, // allowComments
>> - Boolean.FALSE, // emailComments
>> - "", //
>> emailFromAddress
>> - Boolean.TRUE, // isEnabled
>> - form.getEmailAddress(), // emailAddress
>> - new java.util.Date(), // dateCreated
>> - Boolean.TRUE, //
>> defaultAllowComments
>> - 0, //
>> defaultCommentDays
>> - Boolean.FALSE); //
>> moderateComments
>> - newWebsite.setEditorTheme(form.getTheme());
>> - newWebsite.setLocale(form.getLocale());
>> - newWebsite.setTimeZone(form.getTimeZone());
>> - mgr.addWebsite(newWebsite);
>> + WebsiteData wd = new WebsiteData(
>> + form.getHandle(),
>> + user,
>> + form.getName(),
>> + form.getDescription(),
>> + form.getEmailAddress(),
>> + form.getEmailAddress(),
>> + form.getTheme(),
>> + form.getLocale(),
>> + form.getTimeZone());
>> + wd.setEditorPage(RollerConfig.getProperty
>> ("newweblog.editor"));
>> + mgr.addWebsite(wd);
>> RollerFactory.getRoller().flush();
>> Modified: incubator/roller/trunk/src/org/roller/
>> presentation/website/actions/WebsiteFormAction.java
>> URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/
>> roller/presentation/website/actions/WebsiteFormAction.java?
>> rev=395471&r1=395470&r2=395471&view=diff
>> =====================================================================
>> =========
>> --- incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/WebsiteFormAction.java (original)
>> +++ incubator/roller/trunk/src/org/roller/presentation/website/
>> actions/WebsiteFormAction.java Wed Apr 19 20:40:46 2006
>> @@ -296,6 +296,8 @@
>> public class WebsitePageModel extends BasePageModel {
>> private List permissions = new ArrayList();
>> private boolean groupBloggingEnabled = false;
>> + private boolean emailNotificationEnabled = false;
>> + private boolean moderationRequired = false;
>> public WebsitePageModel(
>> String titleKey,
>> HttpServletRequest request,
>> @@ -309,15 +311,21 @@
>> UserData user = rollerSession.getAuthenticatedUser();
>> permissions = roller.getUserManager
>> ().getAllPermissions(website);
>> groupBloggingEnabled =
>> - RollerConfig.getBooleanProperty
>> ("groupblogging.enabled");
>> + RollerConfig.getBooleanProperty
>> ("groupblogging.enabled");
>> + emailNotificationEnabled = +
>> RollerRuntimeConfig.getBooleanProperty("users.comments.emailnotify");
>> + moderationRequired = +
>> RollerRuntimeConfig.getBooleanProperty("users.moderation.required");
>> }
>> public boolean isGroupBloggingEnabled() {
>> return groupBloggingEnabled;
>> }
>> - public void setGroupBloggingEnabled(boolean
>> groupBloggingEnabled) {
>> - this.groupBloggingEnabled = groupBloggingEnabled;
>> + public boolean isEmailNotificationEnabled() {
>> + return emailNotificationEnabled;
>> + }
>> + public boolean isModerationRequired() {
>> + return moderationRequired;
>> }
>> - public boolean getHasPagePlugins() {
>> boolean ret = false;
>> try {