[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs ...
Christian Bauer
christian at hibernate.org
Mon Apr 2 14:25:05 EDT 2007
User: cbauer
Date: 07/04/02 14:25:05
Added: examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs
DocumentEditorPreferences.java WikiPreferences.java
UserManagementPreferences.java
Log:
Totally overengineered but definitely cool system/user/instance wiki preferences architecture
Revision Changes Path
1.1 date: 2007/04/02 18:25:05; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/DocumentEditorPreferences.java
Index: DocumentEditorPreferences.java
===================================================================
package org.jboss.seam.wiki.core.action.prefs;
import org.jboss.seam.wiki.preferences.Preference;
import org.jboss.seam.wiki.preferences.PreferenceSupport;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.ScopeType;
import org.hibernate.validator.Length;
import org.hibernate.validator.Range;
import java.io.Serializable;
@Name("docEditorPreferences")
@Scope(ScopeType.CONVERSATION)
@Preference(description = "A. Document Editor", visibility = PreferenceVisibility.USER)
public class DocumentEditorPreferences extends PreferenceSupport implements Serializable {
public String getCurrentUserVariable() { return "currentUser"; }
public String getCurrentInstanceVariable() { return "currentDocument"; }
@Preference(description = "01. Enable 'Minor Revision' checkbox by default", visibility = PreferenceVisibility.USER)
private Boolean minorRevisionEnabled;
@Preference(description = "02. Rows shown in text editor (with disabled preview)", visibility = PreferenceVisibility.SYSTEM)
@Range(min = 5l, max = 100l)
private Long regularEditAreaRows;
@Preference(description = "03. Columns shown in text editor (with disabled preview)", visibility = PreferenceVisibility.USER)
@Range(min = 5l, max = 250l)
private Long regularEditAreaColumns;
@Preference(description = "04. Rows shown in text editor (with enabled preview)", visibility = PreferenceVisibility.USER)
@Range(min = 5l, max = 100l)
private Long previewEditAreaRows;
@Preference(description = "05. Columns shown in text editor (with enabled preview)", visibility = PreferenceVisibility.USER)
@Range(min = 5l, max = 250l)
private Long previewEditAreaColumns;
}
1.1 date: 2007/04/02 18:25:05; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/WikiPreferences.java
Index: WikiPreferences.java
===================================================================
package org.jboss.seam.wiki.core.action.prefs;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.preferences.Preference;
import org.jboss.seam.wiki.preferences.PreferenceSupport;
import org.jboss.seam.ScopeType;
import org.hibernate.validator.Length;
import java.io.Serializable;
@Name("wikiPreferences")
@AutoCreate
@Scope(ScopeType.CONVERSATION)
@Preference(description = "A. Wiki Preferences", visibility = PreferenceVisibility.SYSTEM)
public class WikiPreferences extends PreferenceSupport implements Serializable {
@Preference(description = "01. Base URL of the Wiki (e.g. http://my.wiki.server/installdir/)", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 8, max = 255)
private String baseUrl;
@Preference(description = "02. Theme directory name", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 3, max = 20)
private String themeName;
@Preference(description = "03. Identifier of member area (home directories)", visibility = PreferenceVisibility.SYSTEM)
private Long memberAreaId;
@Preference(description = "04. Identifier of the default start document of the Wiki", visibility = PreferenceVisibility.SYSTEM)
private Long defaultDocumentId;
@Preference(description = "05. Render all links as permanent numeric identifier links (or as /Wiki/WordLinks)", visibility = PreferenceVisibility.SYSTEM)
private boolean renderPermlinks;
@Preference(description = "06. Append this suffix to permanent identifier", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 2, max = 20)
// TODO: After Hibernate upgrade add this: @org.hibernate.validator.Regex("\\.[a-zA-z]+")
private String permlinkSuffix;
public String getBaseUrl() {
return baseUrl;
}
public String getThemeName() {
return themeName;
}
public Long getMemberAreaId() {
return memberAreaId;
}
public Long getDefaultDocumentId() {
return defaultDocumentId;
}
public boolean isRenderPermlinks() {
return renderPermlinks;
}
public String getPermlinkSuffix() {
return permlinkSuffix;
}
}
1.1 date: 2007/04/02 18:25:05; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/UserManagementPreferences.java
Index: UserManagementPreferences.java
===================================================================
package org.jboss.seam.wiki.core.action.prefs;
import org.jboss.seam.wiki.preferences.PreferenceSupport;
import org.jboss.seam.wiki.preferences.Preference;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.ScopeType;
import org.hibernate.validator.Length;
import java.io.Serializable;
@Name("userManagementPreferences")
@AutoCreate
@Scope(ScopeType.CONVERSATION)
@Preference(description = "A. User Management", visibility = PreferenceVisibility.SYSTEM)
public class UserManagementPreferences extends PreferenceSupport implements Serializable {
@Preference(description = "01. Secret salt used to generate activation codes", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 5, max = 20)
private String activationCodeSalt;
@Preference(description = "02. Regex used for password strength verification", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 2, max = 100)
private String passwordRegex;
@Preference(description = "03. Default role name of new users after registration", visibility = PreferenceVisibility.SYSTEM)
@Length(min = 3, max = 255)
private String newUserInRole;
public String getActivationCodeSalt() {
return activationCodeSalt;
}
public String getPasswordRegex() {
return passwordRegex;
}
public String getNewUserInRole() {
return newUserInRole;
}
}
More information about the jboss-cvs-commits
mailing list