Example usage for org.eclipse.jdt.internal.core PackageFragmentRoot getChildren

List of usage examples for org.eclipse.jdt.internal.core PackageFragmentRoot getChildren

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core PackageFragmentRoot getChildren.

Prototype

public IJavaElement[] getChildren() throws JavaModelException 

Source Link

Usage

From source file:org.hibernate.eclipse.console.test.mappingproject.MappingTestsBase.java

License:Open Source License

/**
 * Inspect all it's packages of the current testProject and
 * execute all tests from TestSet, considering one test package as active.
 * @throws CoreException//from w  w w  .  j  a  v  a2s.c om
 */
public void allTestsRunForProject() throws CoreException {
    testProject.fullBuild();
    IPackageFragmentRoot[] roots = testProject.getIJavaProject().getAllPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getClass() != PackageFragmentRoot.class) {
            continue;
        }
        PackageFragmentRoot packageFragmentRoot = (PackageFragmentRoot) roots[i];
        IJavaElement[] els = packageFragmentRoot.getChildren();
        for (int j = 0; j < els.length; j++) {
            IJavaElement javaElement = els[j];
            if (!(javaElement instanceof IPackageFragment)) {
                continue;
            }
            testPackage = (IPackageFragment) javaElement;
            // use packages only with compilation units
            if (testPackage.getCompilationUnits().length == 0) {
                continue;
            }
            if (Customization.U_TEST_PACKS_PATTERN) {
                if (!Pattern.matches(Customization.TEST_PACKS_PATTERN, javaElement.getElementName())) {
                    continue;
                }
            }

            long st_pack_time = System.currentTimeMillis();
            int prev_failCount = result.failureCount();
            int prev_errCount = result.errorCount();
            //
            TestSuite suite = TestSet.createTestSuite(consoleConfigName, testPackage, testProject);
            //
            customizeCfgXml(testPackage);
            //==============================
            //run all tests for package
            /** /
            suite.run(result);
            /**/
            for (int k = 0; k < suite.testCount(); k++) {
                Test test = suite.testAt(k);
                test.run(result);
                closeAllEditors();
            }
            /**/
            closeAllEditors();
            //==============================
            executions++;
            if (Customization.USE_CONSOLE_OUTPUT) {
                System.out.print(result.errorCount() - prev_errCount
                        + ConsoleTestMessages.HibernateAllMappingTests_errors + " \t"); //$NON-NLS-1$
                System.out.print(result.failureCount() - prev_failCount
                        + ConsoleTestMessages.HibernateAllMappingTests_fails + "\t"); //$NON-NLS-1$
                long period = System.currentTimeMillis() - st_pack_time;
                String time = period / 1000 + "." + (period % 1000) / 100; //$NON-NLS-1$
                System.out.println(time + ConsoleTestMessages.HibernateAllMappingTests_seconds + " {" //$NON-NLS-1$
                        + javaElement.getElementName() + "}"); //$NON-NLS-1$
            }

            if (Customization.STOP_AFTER_MISSING_PACK) {
                if (result.failureCount() > prev_failCount) {
                    break;
                }
            }
            prev_failCount = result.failureCount();
            prev_errCount = result.errorCount();
        }
    }
}