File Source: ExcessSizeCommentValidator.java

         /* 
    P/P   *  Method: org.apache.roller.weblogger.ui.rendering.plugins.comments.ExcessSizeCommentValidator__static_init
          */
     1  /*
     2   * Licensed to the Apache Software Foundation (ASF) under one or more
     3   *  contributor license agreements.  The ASF licenses this file to You
     4   * under the Apache License, Version 2.0 (the "License"); you may not
     5   * use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.  For additional information regarding
    15   * copyright in this work, please see the NOTICE file in the top level
    16   * directory of this distribution.
    17   */
    18  
    19  package org.apache.roller.weblogger.ui.rendering.plugins.comments;
    20  
    21  import java.util.ResourceBundle;
    22  import org.apache.roller.weblogger.config.WebloggerConfig;
    23  import org.apache.roller.weblogger.pojos.WeblogEntryComment;
    24  import org.apache.roller.weblogger.util.RollerMessages;
    25  
    26  /**
    27   * Validates comment only if it has less than comment.validator.excessSize.threshold characters
    28   */
    29  public class ExcessSizeCommentValidator implements CommentValidator {
    30      private ResourceBundle bundle = ResourceBundle.getBundle("ApplicationResources");  
    31      private int threshold;
    32      
             /* 
    P/P       *  Method: void org.apache.roller.weblogger.ui.rendering.plugins.comments.ExcessSizeCommentValidator()
              * 
              *  Postconditions:
              *    init'ed(this.bundle)
              *    init'ed(this.threshold)
              */
    33      public ExcessSizeCommentValidator() {
    34          threshold = WebloggerConfig.getIntProperty("comment.validator.excessSize.threshold");
    35      }
    36      
    37      public String getName() {
                 /* 
    P/P           *  Method: String getName()
                  * 
                  *  Preconditions:
                  *    this.bundle != null
                  * 
                  *  Postconditions:
                  *    init'ed(return_value)
                  */
    38          return bundle.getString("comment.validator.excessSizeName");
    39      }
    40  
    41      public int validate(WeblogEntryComment comment, RollerMessages messages) {
                 /* 
    P/P           *  Method: int validate(WeblogEntryComment, RollerMessages)
                  * 
                  *  Preconditions:
                  *    comment != null
                  *    (soft) messages != null
                  *    (soft) messages.mErrors != null
                  *    (soft) init'ed(this.threshold)
                  * 
                  *  Presumptions:
                  *    org.apache.roller.weblogger.pojos.WeblogEntryComment:getContent(...)@42 != null
                  * 
                  *  Postconditions:
                  *    return_value in {0, 100}
                  * 
                  *  Test Vectors:
                  *    org.apache.roller.weblogger.pojos.WeblogEntryComment:getContent(...)@42: Addr_Set{null}, Inverse{null}
                  */
    42          if (comment.getContent() != null && comment.getContent().length() > threshold) {
    43              messages.addError("comment.validator.excessSizeMessage", Integer.toString(threshold));
    44              return 0;
    45          }
    46          return 100;
    47      }
    48      
    49  }








SofCheck Inspector Build Version : 2.18479
ExcessSizeCommentValidator.java 2009-Jan-02 14:25:42
ExcessSizeCommentValidator.class 2009-Sep-04 03:12:45