[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