JavadocSupport { public static IndexData findIndexFile(File javadocDir) throws BuilderException { final IndexData indexData = new IndexData(); if (!javadocDir.exists() || !javadocDir.isDirectory()) { throw new BuilderException(String.format("%s does not exist, or is not a directory", javadocDir.getAbsolutePath())); } logVerbose("Looking for javadoc files"); String docsetIndexFile = "overview-summary.html"; if (!getFile(javadocDir, docsetIndexFile).exists()) { docsetIndexFile = null; } final File indexFilesDir = getFile(javadocDir, "index-files"); if (indexFilesDir.exists() && indexFilesDir.isDirectory()) { docsetIndexFile = (docsetIndexFile != null) ? docsetIndexFile : "index-1.html"; for (File f : FileUtils.listFiles(indexFilesDir, new String[]{"html"}, false)) { if (f.getName().startsWith("index-")) { indexData.addFileToIndex(f); } } } else if (getFile(javadocDir, "index-all.html").exists()){ docsetIndexFile = (docsetIndexFile != null) ? docsetIndexFile : "index-all.html"; indexData.addFileToIndex(getFile(javadocDir, "index-all.html")); } if (!indexData.hasFilesToIndex()) { throw new BuilderException(String.format("Did not find any javadoc files. Make sure that %s is a directory containing javadoc", javadocDir.getAbsolutePath())); } indexData.setDocsetIndexFile(docsetIndexFile); logVerbose("Found javadoc files"); return indexData; } private  JavadocSupport(); static IndexData findIndexFile(File javadocDir); static List<SearchIndexValue> findSearchIndexValues(List<File> filesToIndex);  }
@Test(expected = BuilderException.class) public void testMissingJavadocDir() throws Exception { JavadocSupport.findIndexFile(getFile(resourcesRoot, "FOO")); }
@Test(expected = BuilderException.class) public void testJavadocDirIsFile() throws Exception { JavadocSupport.findIndexFile(getFile(regularJavadoc, "index.html")); }
@Test(expected = BuilderException.class) public void testNonJavadocDir() throws Exception { JavadocSupport.findIndexFile(getFile(resourcesRoot, NOT_JAVADOC_DIR)); }