*/
public boolean executeTest(TestParameters param) {
// is there an ini file for the complex tests defined?
String complexIniFileName = ((String)param.get("ComplexIni"));
if (complexIniFileName != null) {
CfgParser ini = new CfgParser(complexIniFileName);
ini.getIniParameters(param);
}
// get the test job
String testJob = ((String)param.get("TestJob"));
DescGetter descGetter = new ComplexDescGetter();
// get the test jobs
DescEntry[] entries = descGetter.getDescriptionFor(testJob,null,true);
if (entries == null) return false;
DynamicClassLoader dcl = new DynamicClassLoader();
ComplexTestCase testClass = null;
boolean returnVal = true;
// the concept of the TimeOut depends on runner logs. If the runner log,
// for exmaple to start a test method, the timeout was restet. This is not
// while the test itself log something like "open docuent...".
// An property of complex test could be that it have only one test method
// which works for serveral minutes. Ih this case the TimeOut get not trigger
// and the office was killed.
// In complex tests just use "ThreadTimeOut" as timout.
// param.put("TimeOut", new Integer(0));
for (int i=0; i<entries.length; i++) {
if (entries[i] == null) continue;
String iniName = entries[i].longName;
iniName = iniName.replace('.', '/');
CfgParser ini = new CfgParser(iniName+".props");
ini.getIniParameters(param);
LogWriter log = (LogWriter)dcl.getInstance(
(String)param.get("LogWriter"));
AppProvider office = null;