DescEntry entry = entries[l];
//get some helper classes
Summarizer sumIt = new Summarizer();
DynamicClassLoader dcl = new DynamicClassLoader();
TestCase tCase = null;
tCase = (TestCase) new BasicTestCase(entry);
if (tCase == null)
{
sumIt.summarizeDown(entry, entry.ErrorMsg);
LogWriter sumObj = OutProducerFactory.createOutProducer(param);
sumObj.initialize(entry, true);
sumObj.summary(entry);
continue;
}
System.out.println("Creating: " + tCase.getObjectName());
LogWriter log = (LogWriter) dcl.getInstance(
(String) param.get("LogWriter"));
log.initialize(entry, true);
entry.UserDefinedParams = param;
tCase.setLogWriter((PrintWriter) log);
try
{
tCase.initializeTestCase(param);
}
catch (RuntimeException e)
{
helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
"AppProvider");
if (ph != null)
{
OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
if ((ow != null) && ow.isAlive())
{
ow.finish = true;
}
ph.kill();
shortWait(5000);
}
continue;
}
TestEnvironment tEnv = tCase.getTestEnvironment(param);
if (tEnv == null)
{
sumIt.summarizeDown(entry, "Unable to create testcase");
LogWriter sumObj = OutProducerFactory.createOutProducer(param);
sumObj.initialize(entry, true);
sumObj.summary(entry);
helper.ProcessHandler ph = (helper.ProcessHandler) param.get(
"AppProvider");
if (ph != null)
{
OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
if ((ow != null) && ow.isAlive())
{
ow.finish = true;
}
ph.kill();
shortWait(5000);
}
continue;
}
System.out.println("created " + tCase.getObjectName());
for (int j = 0; j < entry.SubEntryCount; j++)
{
if (!entry.SubEntries[j].isToTest)
{
Summarizer.summarizeDown(entry.SubEntries[j],
"not part of the job");
continue;
}
if ((exclusions != null) &&
(exclusions.contains(entry.SubEntries[j].longName)))
{
Summarizer.summarizeDown(entry.SubEntries[j],
"known issue");
continue;
}
System.out.println("running: " +
entry.SubEntries[j].entryName);
LogWriter ifclog = (LogWriter) dcl.getInstance(
(String) param.get("LogWriter"));
ifclog.initialize(entry.SubEntries[j], true);
entry.SubEntries[j].UserDefinedParams = param;
entry.SubEntries[j].Logger = ifclog;