public void testTwoPlatformsoverSameSDK() throws Exception { final File binDir = new File(getWorkDir(), "boot"); // NOI18N binDir.mkdir(); final File jdocFile1 = new File(getWorkDir(), "jdoc1"); // NOI18N jdocFile1.mkdir(); final File jdocFile2 = new File(getWorkDir(), "jdoc2"); // NOI18N jdocFile2.mkdir(); JavaPlatformProviderImpl provider = Lookup.getDefault().lookup(JavaPlatformProviderImpl.class); final URL binRoot = Utilities.toURI(binDir).toURL(); final ClassPath bootCp = ClassPathSupport.createClassPath(binRoot); final List<URL> javadoc1 = Collections.singletonList(Utilities.toURI(jdocFile1).toURL()); final List<URL> javadoc2 = Collections.singletonList(Utilities.toURI(jdocFile2).toURL()); final TestJavaPlatform platform1 = new TestJavaPlatform("platform1", bootCp); // NOI18N final TestJavaPlatform platform2 = new TestJavaPlatform("platform2", bootCp); // NOI18N platform2.setJavadoc(javadoc2); provider.addPlatform(platform1); provider.addPlatform(platform2); final JavadocForBinaryQuery.Result result1 = JavadocForBinaryQuery.findJavadoc(binRoot); assertEquals(javadoc2, Arrays.asList(result1.getRoots())); platform1.setJavadoc(javadoc1); assertEquals(javadoc1, Arrays.asList(result1.getRoots())); final JavadocForBinaryQuery.Result result2 = JavadocForBinaryQuery.findJavadoc(binRoot); assertEquals(javadoc1, Arrays.asList(result2.getRoots())); platform1.setJavadoc(Collections.<URL>emptyList()); assertEquals(javadoc2, Arrays.asList(result1.getRoots())); assertEquals(javadoc2, Arrays.asList(result2.getRoots())); }
public void testQuery() throws Exception { JavaPlatform platform = JavaPlatform.getDefault(); ClassPath cp = platform.getBootstrapLibraries(); FileObject pfo = cp.getRoots()[0]; URL u = URLMapper.findURL(pfo, URLMapper.EXTERNAL); URL urls[] = JavadocForBinaryQuery.findJavadoc(u).getRoots(); assertEquals(1, urls.length); assertTrue(urls[0].toString(), urls[0].toString().startsWith("http://download.oracle.com/")); List<URL> l = new ArrayList<URL>(); File javadocFile = getBaseDir(); File api = new File(javadocFile, "api"); File index = new File(api, "index-files"); FileUtil.toFileObject(index); index.mkdirs(); l.add(Utilities.toURI(javadocFile).toURL()); J2SEPlatformImpl platformImpl = (J2SEPlatformImpl) platform; platformImpl.setJavadocFolders(l); urls = JavadocForBinaryQuery.findJavadoc(u).getRoots(); assertEquals(1, urls.length); assertEquals(Utilities.toURI(api).toURL(), urls[0]); }