Coverage Report - org.galagosearch.tupleflow.execution.StageExecutorFactory
 
Classes in this File Line Coverage Branch Coverage Complexity
StageExecutorFactory
0%
0/19
0%
0/16
0
 
 1  
 // BSD License (http://www.galagosearch.org/license)
 2  
  
 3  
 package org.galagosearch.tupleflow.execution;
 4  
 
 5  
 import org.galagosearch.tupleflow.Utility;
 6  
 import java.util.Arrays;
 7  
 
 8  
 /**
 9  
  *
 10  
  * @author trevor
 11  
  */
 12  0
 public class StageExecutorFactory {
 13  
     public static StageExecutor newInstance(String name, String... args) {
 14  0
         if (name == null) {
 15  0
             name = "local";
 16  
         }
 17  0
         name = name.toLowerCase();
 18  
 
 19  0
         if (name.startsWith("class=")) {
 20  0
             String[] fields = name.split("=");
 21  0
             assert fields.length >= 2;
 22  0
             String className = fields[1];
 23  
 
 24  
             try {
 25  0
                 Class actual = Class.forName(className);
 26  0
                 return (StageExecutor) actual.newInstance();
 27  0
             } catch (Exception e) {
 28  0
                 return null;
 29  
             }
 30  0
         } else if (name.startsWith("thread") || name.startsWith("local")) {
 31  0
             return new ThreadedStageExecutor();
 32  0
         } else if (name.startsWith("ssh")) {
 33  0
             return new SSHStageExecutor(args[0], Arrays.asList(Utility.subarray(args, 1)));
 34  0
         } else if (name.equals("remotedebug")) {
 35  0
             return new LocalRemoteStageExecutor();
 36  
         } else {
 37  0
             return new LocalStageExecutor();
 38  
         }
 39  
     }
 40  
 }