Coverage Report - org.webslinger.bsf.LanguageManager
 
Classes in this File Line Coverage Branch Coverage Complexity
LanguageManager
69%
11/16
100%
3/3
0
 
 1  
 package org.webslinger.bsf;
 2  
 
 3  
 import java.util.Iterator;
 4  
 import java.util.logging.Logger;
 5  
 import javax.imageio.spi.ServiceRegistry;
 6  
 
 7  
 import org.apache.bsf.BSFEngine;
 8  
 import org.apache.bsf.BSFException;
 9  
 
 10  
 import org.webslinger.vfs.VFSDelegate;
 11  
 import org.webslinger.vfs.TypeVFSDelegate;
 12  
 
 13  
 public class LanguageManager extends AbstractManager {
 14  
     public LanguageManager(Logger logger) throws BSFException {
 15  0
         this(TypeVFSDelegate.DEFAULT, logger);
 16  0
     }
 17  
 
 18  
     public LanguageManager(VFSDelegate<?, Object, ?> vfsDelegate, Logger logger) throws BSFException {
 19  26
         super(vfsDelegate, logger);
 20  26
         postConstruct();
 21  26
     }
 22  
 
 23  
     public void findLanguageEngines(ClassLoader loader) {
 24  52
         if (loader == null) return;
 25  52
         Iterator<LanguageEngineInfo> it = ServiceRegistry.lookupProviders(LanguageEngineInfo.class, loader);
 26  468
         while (it.hasNext()) {
 27  
             try {
 28  416
                 LanguageEngineInfo info = it.next();
 29  1092
                 for (String name: info.getNames()) {
 30  676
                     registerLanguageEngine(name, info.getImplClassName(name), info.getExtensions(name));
 31  
                 }
 32  0
             } catch (RuntimeException e) {
 33  0
             } catch (UnsupportedClassVersionError e) {
 34  416
             }
 35  
         }
 36  52
     }
 37  
 
 38  
     protected LanguageEngine getLanguageEngineConvertor(String language, BSFEngine engine) throws BSFException {
 39  0
         return new LanguageEngineConvertor(language, this, engine);
 40  
     }
 41  
 }