Clover coverage report - Ledge Web - SNAPSHOT
Coverage timestamp: Fri Nov 17 2006 05:20:55 CET
file stats: LOC: 97   Methods: 4
NCLOC: 39   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
AbstractComponent.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.components;
 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    import org.objectledge.web.mvc.builders.BuildException;
 36   
 37    /**
 38    * Base class of Component interface implementations.
 39    *
 40    * @author <a href="mailto:dgajda@caltha.pl">Damian Gajda</a>
 41    * @version $Id: AbstractComponent.java,v 1.1 2005/07/26 12:10:26 rafal Exp $
 42    */
 43    public abstract class AbstractComponent
 44    implements Component
 45    {
 46    /** Application context used by this component instance. */
 47    protected Context context;
 48   
 49    /**
 50    * Constructs a component instance.
 51    *
 52    * @param context application context for use by this component.
 53    */
 54  184 public AbstractComponent(Context context)
 55    {
 56  184 this.context = context;
 57    }
 58   
 59    /**
 60    * Perform processing and store values in the tmplating context.
 61    *
 62    * @param templatingContext the TemplatingContext.
 63    * @throws ProcessingException if the processing fails.
 64    */
 65  138 public void process(TemplatingContext templatingContext)
 66    throws ProcessingException
 67    {
 68    // do nothing in base implementation
 69    }
 70   
 71    /**
 72    * {@inheritDoc}
 73    */
 74  138 public String build(Template template)
 75    throws BuildException, ProcessingException
 76    {
 77  138 TemplatingContext templatingContext = TemplatingContext.getTemplatingContext(context);
 78  138 process(templatingContext);
 79  138 try
 80    {
 81  138 return template.merge(templatingContext);
 82    }
 83    catch(MergingException e)
 84    {
 85  46 throw new BuildException("failed to merge template: "+template.getName(), e);
 86    }
 87    }
 88   
 89    /**
 90    * {@inheritDoc}
 91    */
 92  46 public Template getTemplate()
 93    throws ProcessingException
 94    {
 95  46 return null;
 96    }
 97    }