Package com.dp.nebula.wormhole.engine.core

Source Code of com.dp.nebula.wormhole.engine.core.EngineTest

package com.dp.nebula.wormhole.engine.core;

import static org.junit.Assert.assertEquals;

import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.PropertyConfigurator;
import org.junit.Test;

import com.dp.nebula.wormhole.common.JobStatus;
import com.dp.nebula.wormhole.common.config.JobConf;
import com.dp.nebula.wormhole.common.interfaces.IParam;
import com.dp.nebula.wormhole.common.utils.Environment;
import com.dp.nebula.wormhole.common.utils.JobConfGenDriver;
import com.dp.nebula.wormhole.common.utils.ParseXMLUtil;

public class EngineTest {
  private static final Log s_logger = LogFactory.getLog(EngineTest.class);
  @Test
  public void test() {
    String []args = {"job.xml"};
    PropertyConfigurator.configure(Environment.LOG4J_CONF);
   
    String jobDescriptionXML = null;
    //if no parameters are passed in,
    //it generates job configure XML first
    if(args.length < 1){
      try{
        JobConfGenDriver.generateJobConfXml();
      } catch(Exception e){
        s_logger.error("Error in generating job configure XML: ", e);
        System.exit(JobStatus.FAILED.getStatus());
      }
      System.exit(JobStatus.SUCCESS.getStatus());
    }
    else if(args.length == 1){
      jobDescriptionXML = args[0];
    }
    //return usage information
    else{
      s_logger.error("Usage: ./wormhole.sh job.xml .");
      System.exit(JobStatus.FAILED.getStatus());
    }
    JobConf jobConf = null;
    IParam engineConf = null;
    Map<String, IParam> pluginConfs = null;
    try{
      //read configurations from XML for engine & plugins
      jobConf = ParseXMLUtil.loadJobConf(jobDescriptionXML);
      engineConf = ParseXMLUtil.loadEngineConfig();
      pluginConfs = ParseXMLUtil.loadPluginConf();
      //start data transmission
     
    } catch (Exception e) {
      s_logger.error("Configure file error occurs: ",e);
      System.exit(JobStatus.CONF_FAILED.getStatus());
    }
   
    Engine engine = new Engine(engineConf, pluginConfs);
    int jobStatus = engine.run(jobConf);
    s_logger.info("wormhole return code-" + jobStatus);
    assertEquals(0,jobStatus);
  }
}
TOP

Related Classes of com.dp.nebula.wormhole.engine.core.EngineTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.