Clover coverage report - Drools - 2.0-rc2
Coverage timestamp: Wed May 11 2005 07:12:26 BST
file stats: LOC: 115   Methods: 3
NCLOC: 29   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
RuleServiceProviderImpl.java 100% 100% 100% 100%
coverage
 1    package org.drools.jsr94.rules;
 2   
 3    /*
 4    * $Id: RuleServiceProviderImpl.java,v 1.11 2004/11/27 00:59:54 dbarnett Exp $
 5    *
 6    * Copyright 2002-2004 (C) The Werken Company. All Rights Reserved.
 7    *
 8    * Redistribution and use of this software and associated documentation
 9    * ("Software"), with or without modification, are permitted provided that the
 10    * following conditions are met:
 11    *
 12    * 1. Redistributions of source code must retain copyright statements and
 13    * notices. Redistributions must also contain a copy of this document.
 14    *
 15    * 2. Redistributions in binary form must reproduce the above copyright notice,
 16    * this list of conditions and the following disclaimer in the documentation
 17    * and/or other materials provided with the distribution.
 18    *
 19    * 3. The name "drools" must not be used to endorse or promote products derived
 20    * from this Software without prior written permission of The Werken Company.
 21    * For written permission, please contact bob@werken.com.
 22    *
 23    * 4. Products derived from this Software may not be called "drools" nor may
 24    * "drools" appear in their names without prior written permission of The Werken
 25    * Company. "drools" is a registered trademark of The Werken Company.
 26    *
 27    * 5. Due credit should be given to The Werken Company.
 28    * (http://drools.werken.com/).
 29    *
 30    * THIS SOFTWARE IS PROVIDED BY THE WERKEN COMPANY AND CONTRIBUTORS ``AS IS''
 31    * AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 32    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 33    * ARE DISCLAIMED. IN NO EVENT SHALL THE WERKEN COMPANY OR ITS CONTRIBUTORS BE
 34    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 36    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 37    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 38    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 39    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 40    * POSSIBILITY OF SUCH DAMAGE.
 41    *
 42    */
 43   
 44    import javax.rules.RuleRuntime;
 45    import javax.rules.RuleServiceProvider;
 46    import javax.rules.admin.RuleAdministrator;
 47   
 48    import org.drools.jsr94.rules.admin.RuleAdministratorImpl;
 49   
 50    /**
 51    * This class provides access to the <code>RuleRuntime</code> and
 52    * <code>RuleAdministrator</code> implementation supplied by Drools
 53    * when running under J2SE.
 54    * <p/>
 55    * This class should be used in environments without a JNDI provider -
 56    * typically when writing standalone J2SE clients. Within the J2EE environment
 57    * the <code>RuleServiceProvider</code> implementation class provided by Drools
 58    * should be retrieved using a JNDI lookup.
 59    * <p/>
 60    * This class should be constructed using the
 61    * <code>RuleServiceProviderManager.getRuleServiceProvider</code> method.
 62    *
 63    * @see RuleRuntimeImpl
 64    * @see RuleAdministratorImpl
 65    * @see RuleServiceProvider
 66    * @see javax.rules.RuleServiceProviderManager#getRuleServiceProvider(String)
 67    *
 68    * @author <a href="mailto:thomas.diesler@softcon-itec.de">thomas diesler </a>
 69    */
 70    public class RuleServiceProviderImpl extends RuleServiceProvider
 71    {
 72    /** An instance of <code>RuleRuntimeImpl</code>. */
 73    private RuleRuntime ruleRuntime;
 74   
 75    /** An instance of <code>RuleAdministratorImpl</code>. */
 76    private RuleAdministrator ruleAdministrator;
 77   
 78    /**
 79    * Create a new <code>RuleServiceProviderImpl</code>.
 80    */
 81  50 public RuleServiceProviderImpl( )
 82    {
 83    // no special initialization required
 84    }
 85   
 86    /**
 87    * Returns a class instance of <code>RuleRuntime</code>. Specifically
 88    * an instance of the Drools <code>RuleRuntimeImpl</code> is returned.
 89    *
 90    * @return an instance of <code>RuleRuntime</code>
 91    */
 92  78 public synchronized RuleRuntime getRuleRuntime( )
 93    {
 94  78 if ( this.ruleRuntime != null )
 95    {
 96  34 return this.ruleRuntime;
 97    }
 98  44 return this.ruleRuntime = new RuleRuntimeImpl( );
 99    }
 100   
 101    /**
 102    * Returns a class instance of <code>RuleAdministrator</code>. Specifically
 103    * an instance of the Drools <code>RuleAdministratorImpl</code> is returned.
 104    *
 105    * @return an instance of <code>RuleAdministrator</code>
 106    */
 107  67 public synchronized RuleAdministrator getRuleAdministrator( )
 108    {
 109  67 if ( this.ruleAdministrator != null )
 110    {
 111  18 return this.ruleAdministrator;
 112    }
 113  49 return this.ruleAdministrator = new RuleAdministratorImpl( );
 114    }
 115    }