public void runTestsObject(Object element) { IResource[] members; try { if (element instanceof IProject) { // if it is a project go deeper if (((IProject) element).isOpen()) { // and it is open log.debug("Calling recursive method for" + ((IProject) element).getFullPath()); members = ((IProject) element).members(); for (int index = 0; index < members.length; index++) this.runTestsObject(members[index]); } } else if (element instanceof IFolder) { // if it is a folder go deeper members = ((IFolder) element).members(); log.debug("Calling recursive method for" + ((IFolder) element).getLocation().toOSString()); for (int index = 0; index < members.length; index++) this.runTestsObject(members[index]); } else if (element instanceof IFile) { // if it is a file IFile ifile = (IFile) element; if (ifile.getFileExtension().equals("rsl")) { log.debug("Calling runTestCasesActiveFile on " + ifile.getFullPath()); RunTestCasesActiveFile.runandprint(ifile); } } else // only projects, folders and rsl files are of interest return; } catch (CoreException e) { log.error(e.getMessage(), e); } }