logger.println("NetBeans:" + error);
}
}
private static String classToSourceURL(FileObject fo, OutputWriter logger) {
ClassPath cp = ClassPath.getClassPath(fo, ClassPath.EXECUTE);
if (cp == null) {
return null;
}
FileObject root = cp.findOwnerRoot(fo);
String resourceName = cp.getResourceName(fo, '/', false);
if (resourceName == null || root == null) {
logger.println("Can not find classpath resource for " + fo + ", skipping...");
return null;
}
int i = resourceName.indexOf('$');
if (i > 0) {
resourceName = resourceName.substring(0, i);
}
FileObject[] sRoots = SourceForBinaryQuery.findSourceRoots(root.toURL()).getRoots();
ClassPath sourcePath = ClassPathSupport.createClassPath(sRoots);
FileObject rfo = sourcePath.findResource(resourceName + ".java");
if (rfo == null) {
return null;
}
return rfo.toURL().toExternalForm();
}