Clover coverage report - Code Coverage for tapestry-portlet release 4.0.2
Coverage timestamp: Thu Apr 13 2006 10:54:39 EDT
file stats: LOC: 103   Methods: 8
NCLOC: 60   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
PortletHomeService.java 100% 100% 100% 100%
coverage
 1    // Copyright 2005 The Apache Software Foundation
 2    //
 3    // Licensed under the Apache License, Version 2.0 (the "License");
 4    // you may not use this file except in compliance with the License.
 5    // You may obtain a copy of the License at
 6    //
 7    // http://www.apache.org/licenses/LICENSE-2.0
 8    //
 9    // Unless required by applicable law or agreed to in writing, software
 10    // distributed under the License is distributed on an "AS IS" BASIS,
 11    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    // See the License for the specific language governing permissions and
 13    // limitations under the License.
 14   
 15    package org.apache.tapestry.portlet;
 16   
 17    import java.io.IOException;
 18    import java.util.HashMap;
 19    import java.util.Map;
 20   
 21    import org.apache.tapestry.IRequestCycle;
 22    import org.apache.tapestry.Tapestry;
 23    import org.apache.tapestry.engine.EngineMessages;
 24    import org.apache.tapestry.engine.IEngineService;
 25    import org.apache.tapestry.engine.ILink;
 26    import org.apache.tapestry.services.LinkFactory;
 27    import org.apache.tapestry.services.ResponseRenderer;
 28   
 29    /**
 30    * Replacement for the standard home service, used by Portlets. This exists to handle the special
 31    * case where a Portlet render request arrives when there is not a Portlet action request prior ...
 32    * this can happen when a Portlet is first added to a Portal page.
 33    *
 34    * @author Howard M. Lewis Ship
 35    * @since 4.0
 36    */
 37    public class PortletHomeService implements IEngineService
 38    {
 39    private PortletRenderer _portletRenderer;
 40   
 41    private PortletRequestGlobals _requestGlobals;
 42   
 43    private ResponseRenderer _responseRenderer;
 44   
 45    private LinkFactory _linkFactory;
 46   
 47    private PortletPageResolver _pageResolver;
 48   
 49  1 public String getName()
 50    {
 51  1 return Tapestry.HOME_SERVICE;
 52    }
 53   
 54  2 public ILink getLink(boolean post, Object parameter)
 55    {
 56  2 if (parameter != null)
 57  1 throw new IllegalArgumentException(EngineMessages.serviceNoParameter(this));
 58   
 59  1 Map parameters = new HashMap();
 60   
 61  1 return _linkFactory.constructLink(this, post, parameters, true);
 62    }
 63   
 64  1 public void setLinkFactory(LinkFactory linkFactory)
 65    {
 66  1 _linkFactory = linkFactory;
 67    }
 68   
 69  1 public void setResponseRenderer(ResponseRenderer responseRenderer)
 70    {
 71  1 _responseRenderer = responseRenderer;
 72    }
 73   
 74  2 public void service(IRequestCycle cycle) throws IOException
 75    {
 76  2 String pageName = _pageResolver.getPageNameForRequest(cycle);
 77   
 78  2 if (_requestGlobals.isRenderRequest())
 79    {
 80  1 _portletRenderer.renderPage(cycle, pageName);
 81  1 return;
 82    }
 83   
 84  1 cycle.activate(pageName);
 85   
 86  1 _responseRenderer.renderResponse(cycle);
 87    }
 88   
 89  1 public void setPortletRenderer(PortletRenderer portletRenderer)
 90    {
 91  1 _portletRenderer = portletRenderer;
 92    }
 93   
 94  2 public void setRequestGlobals(PortletRequestGlobals requestGlobals)
 95    {
 96  2 _requestGlobals = requestGlobals;
 97    }
 98   
 99  2 public void setPageResolver(PortletPageResolver pageResolver)
 100    {
 101  2 _pageResolver = pageResolver;
 102    }
 103    }