Coverage Report - org.codehaus.plexus.component.factory.DefaultComponentFactoryManager
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultComponentFactoryManager
77 %
7/9
75 %
3/4
4
 
 1  
 package org.codehaus.plexus.component.factory;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2006 Codehaus Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import org.codehaus.plexus.PlexusConstants;
 20  
 import org.codehaus.plexus.PlexusContainer;
 21  
 import org.codehaus.plexus.component.factory.java.JavaComponentFactory;
 22  
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 23  
 import org.codehaus.plexus.context.Context;
 24  
 import org.codehaus.plexus.context.ContextException;
 25  
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 26  
 
 27  
 /**
 28  
  * @author Jason van Zyl
 29  
  * @version $Id$
 30  
  */
 31  61
 public class DefaultComponentFactoryManager
 32  
     implements ComponentFactoryManager, Contextualizable
 33  
 {
 34  61
     private ComponentFactory defaultComponentFactory = new JavaComponentFactory();
 35  
 
 36  
     private PlexusContainer container;
 37  
 
 38  
     public ComponentFactory findComponentFactory( String id )
 39  
         throws UndefinedComponentFactoryException
 40  
     {
 41  218
         if ( id == null || id.equals( "java" ) ) 
 42  
         {
 43  217
             return defaultComponentFactory;
 44  
         }
 45  
 
 46  
         try
 47  
         {
 48  1
             return container.lookup( ComponentFactory.class, id );
 49  
         }
 50  0
         catch ( ComponentLookupException e )
 51  
         {
 52  0
             throw new UndefinedComponentFactoryException( "Specified component factory cannot be found: " + id );
 53  
         }
 54  
     }
 55  
 
 56  
     public void contextualize( Context context )
 57  
         throws ContextException
 58  
     {
 59  61
         container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
 60  61
     }
 61  
 }