File Source: VelocityRendererFactory.java

     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.velocity;
    20  
    21  import org.apache.commons.logging.Log;
    22  import org.apache.commons.logging.LogFactory;
    23  import org.apache.roller.weblogger.pojos.Template;
    24  import org.apache.roller.weblogger.ui.rendering.Renderer;
    25  import org.apache.roller.weblogger.ui.rendering.RendererFactory;
    26  
    27  
    28  /**
    29   * RendererFactory for Velocity, creates VelocityRenderers.
    30   */
         /* 
    P/P   *  Method: void org.apache.roller.weblogger.ui.rendering.velocity.VelocityRendererFactory()
          */
    31  public class VelocityRendererFactory implements RendererFactory {
    32      
             /* 
    P/P       *  Method: org.apache.roller.weblogger.ui.rendering.velocity.VelocityRendererFactory__static_init
              * 
              *  Postconditions:
              *    init'ed(log)
              */
    33      private static Log log = LogFactory.getLog(VelocityRendererFactory.class);
    34      
    35      
    36      public Renderer getRenderer(Template template) {
    37          
                 /* 
    P/P           *  Method: Renderer getRenderer(Template)
                  * 
                  *  Preconditions:
                  *    template != null
                  *    (soft) org/apache/roller/weblogger/ui/rendering/velocity/RollerVelocity.velocityEngine != null
                  * 
                  *  Postconditions:
                  *    return_value in Addr_Set{null,&new VelocityRenderer(getRenderer#1)}
                  *    new VelocityRenderer(getRenderer#1) num objects <= 1
                  *    init'ed(new VelocityRenderer(getRenderer#1).parseException)
                  *    new VelocityRenderer(getRenderer#1).renderTemplate == template
                  *    new VelocityRenderer(getRenderer#1).renderTemplate != null
                  *    init'ed(new VelocityRenderer(getRenderer#1).velocityDecorator)
                  *    init'ed(new VelocityRenderer(getRenderer#1).velocityTemplate)
                  * 
                  *  Test Vectors:
                  *    java.lang.String:equals(...)@45: {0}, {1}
                  *    org.apache.roller.weblogger.pojos.Template:getId(...)@41: Inverse{null}, Addr_Set{null}
                  *    org.apache.roller.weblogger.pojos.Template:getTemplateLanguage(...)@41: Addr_Set{null}, Inverse{null}
                  */
    38          Renderer renderer = null;
    39          
    40          // nothing we can do with null values
    41          if(template.getTemplateLanguage() == null || template.getId() == null) {
    42              return null;
    43          }
    44          
    45          if("velocity".equals(template.getTemplateLanguage())) { 
    46              
    47              // standard velocity template
    48              try {
    49                 renderer = new VelocityRenderer(template);
    50              } catch(Exception ex) {
    51                  // some kind of exception so we don't have a renderer
    52                  // we do catching/logging in VelocityRenderer constructor
    53                  return null;
    54              }            
    55              
    56          }
    57          
    58          return renderer;
    59      }
    60      
    61  }








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