Clover coverage report - Ledge Web - SNAPSHOT
Coverage timestamp: Fri Nov 17 2006 05:20:55 CET
file stats: LOC: 103   Methods: 5
NCLOC: 41   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
AbstractBuilder.java - 100% 100% 100%
coverage
 1    //
 2    // Copyright (c) 2003, Caltha - Gajda, Krzewski, Mach, Potempski Sp.J.
 3    // All rights reserved.
 4    //
 5    // Redistribution and use in source and binary forms, with or without modification,
 6    // are permitted provided that the following conditions are met:
 7    //
 8    // * Redistributions of source code must retain the above copyright notice,
 9    // this list of conditions and the following disclaimer.
 10    // * Redistributions in binary form must reproduce the above copyright notice,
 11    // this list of conditions and the following disclaimer in the documentation
 12    // and/or other materials provided with the distribution.
 13    // * Neither the name of the Caltha - Gajda, Krzewski, Mach, Potempski Sp.J.
 14    // nor the names of its contributors may be used to endorse or promote products
 15    // derived from this software without specific prior written permission.
 16    //
 17    // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 18    // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 19    // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 20    // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 21    // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 22    // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 23    // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 24    // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 25    // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 26    // POSSIBILITY OF SUCH DAMAGE.
 27    //
 28    package org.objectledge.web.mvc.builders;
 29   
 30    import org.objectledge.context.Context;
 31    import org.objectledge.pipeline.ProcessingException;
 32    import org.objectledge.templating.MergingException;
 33    import org.objectledge.templating.Template;
 34    import org.objectledge.templating.TemplatingContext;
 35   
 36    /**
 37    * Abstract builder implementation, which does not route and only merges templates.
 38    *
 39    * @author <a href="mailto:dgajda@caltha.pl">Damian Gajda</a>
 40    * @version $Id: AbstractBuilder.java,v 1.12 2005/07/26 12:13:11 rafal Exp $
 41    */
 42    public abstract class AbstractBuilder implements Builder
 43    {
 44    /** Application context used by this builder instance. */
 45    protected Context context;
 46   
 47    /**
 48    * Constructs a builder instance.
 49    *
 50    * @param context application context for use by this builder.
 51    */
 52  966 public AbstractBuilder(Context context)
 53    {
 54  966 this.context = context;
 55    }
 56   
 57    /**
 58    * {@inheritDoc}
 59    */
 60  644 public String route(String thisViewName)
 61    throws ProcessingException
 62    {
 63  644 return null;
 64    }
 65   
 66    /**
 67    * Perform processing and store values in the tmplating context.
 68    *
 69    * @param templatingContext the TemplatingContext.
 70    * @throws ProcessingException if the processing fails.
 71    */
 72  736 public void process(TemplatingContext templatingContext)
 73    throws ProcessingException
 74    {
 75    // do nothing in base implementation
 76    }
 77   
 78    /**
 79    * {@inheritDoc}
 80    */
 81  782 public String build(Template template, String embeddedBuildResults)
 82    throws BuildException, ProcessingException
 83    {
 84  782 TemplatingContext templatingContext = TemplatingContext.getTemplatingContext(context);
 85  782 process(templatingContext);
 86  782 try
 87    {
 88  782 return template.merge(templatingContext);
 89    }
 90    catch(MergingException e)
 91    {
 92  46 throw new BuildException("failed to build template '"+template.getName()+"'", e);
 93    }
 94    }
 95   
 96    /**
 97    * {@inheritDoc}
 98    */
 99  138 public EnclosingView getEnclosingView(String thisViewName)
 100    {
 101  138 return EnclosingView.DEFAULT;
 102    }
 103    }