List of usage examples for org.springframework.beans FatalBeanException getCause
public synchronized Throwable getCause()
From source file:org.bigtester.ate.model.caserunner.CaseRunner.java
/** * Test runner1./* w w w . ja v a 2 s .co m*/ * * @param ctx * the ctx * @throws Throwable */ // @Test(dataProvider = "dp") public void runTest(TestParameters testParams) throws Throwable { String testname = testParams.getTestFilename(); // ApplicationContext context; try { context = new FileSystemXmlApplicationContext(testname); IMyWebDriver myWebD = (IMyWebDriver) GlobalUtils.findMyWebDriver(context); mainDriver = myWebD.getWebDriverInstance(); myTestCase = GlobalUtils.findTestCaseBean(getContext()); getMyTestCase().setStepThinkTime(testParams.getStepThinkTime()); getMyTestCase().setCurrentWebDriver(myWebD); getMyTestCase().goSteps(); } catch (FatalBeanException fbe) { if (fbe.getCause() instanceof FileNotFoundException) { context = new ClassPathXmlApplicationContext(testname); mainDriver = ((IMyWebDriver) GlobalUtils.findMyWebDriver(context)).getWebDriverInstance(); myTestCase = GlobalUtils.findTestCaseBean(getContext()); myTestCase.setStepThinkTime(testParams.getStepThinkTime()); getMyTestCase().goSteps(); } else if (fbe instanceof BeanCreationException) { // NOPMD ITestResult itr = Reporter.getCurrentTestResult(); if (itr.getThrowable() != null && itr.getThrowable() instanceof TestDataException) { TestDataException tde = (TestDataException) itr.getThrowable(); tde.setTestStepName(((BeanCreationException) fbe.getCause()).getBeanName()); tde.setTestCaseName(((BeanCreationException) fbe).getResourceDescription()); tde.setMessage(tde.getMessage() + LogbackTag.TAG_SEPERATOR + tde.getTestCaseName() + LogbackTag.TAG_SEPERATOR + tde.getTestStepName()); throw (TestDataException) itr.getThrowable(); } else { // other test case bean creation errors. need to create // another exception to handle it. String[] fullST = Utils.stackTrace(fbe, false); int TWO = 2; // NOPMD if (fullST.length < TWO) { LogbackWriter.writeSysError("java internal error in stack trace."); } else { String errLog = fullST[1]; if (null == errLog) LogbackWriter.writeSysError("java internal error in stack trace."); else LogbackWriter.writeSysError(errLog); } throw fbe; } } else { throw fbe; } } }