protected void assertContentRoots(String moduleName, String... expectedRoots) { List<String> actual = new ArrayList<String>(); for (ContentEntry e : getContentRoots(moduleName)) { actual.add(e.getUrl()); } for (int i = 0; i < expectedRoots.length; i++) { expectedRoots[i] = VfsUtil.pathToUrl(expectedRoots[i]); } assertUnorderedPathsAreEqual(actual, Arrays.asList(expectedRoots)); }
@Nullable public static VirtualFile getPluginVirtualDirectory() { IdeaPluginDescriptor descriptor = PluginManager.getPlugin(PluginId.getId("Lua")); if (descriptor != null) { File pluginPath = descriptor.getPath(); String url = VfsUtil.pathToUrl(pluginPath.getAbsolutePath()); return VirtualFileManager.getInstance().findFileByUrl(url); } return null; }
protected boolean doSetIcon( DefaultMutableTreeNode node, @Nullable String path, Component component) { if (StringUtil.isNotEmpty(path) && !new File(path).isFile()) { Messages.showErrorDialog( component, IdeBundle.message("error.file.not.found.message", path), IdeBundle.message("title.choose.action.icon")); return false; } String actionId = getActionId(node); if (actionId == null) return false; final AnAction action = ActionManager.getInstance().getAction(actionId); if (action != null && action.getTemplatePresentation() != null) { if (StringUtil.isNotEmpty(path)) { Image image = null; try { image = ImageLoader.loadFromStream( VfsUtil.convertToURL(VfsUtil.pathToUrl(path.replace(File.separatorChar, '/'))) .openStream()); } catch (IOException e) { LOG.debug(e); } Icon icon = new File(path).exists() ? IconLoader.getIcon(image) : null; if (icon != null) { if (icon.getIconWidth() > EmptyIcon.ICON_18.getIconWidth() || icon.getIconHeight() > EmptyIcon.ICON_18.getIconHeight()) { Messages.showErrorDialog( component, IdeBundle.message("custom.icon.validation.message"), IdeBundle.message("title.choose.action.icon")); return false; } node.setUserObject(Pair.create(actionId, icon)); mySelectedSchema.addIconCustomization(actionId, path); } } else { node.setUserObject(Pair.create(actionId, null)); mySelectedSchema.removeIconCustomization(actionId); final DefaultMutableTreeNode nodeOnToolbar = findNodeOnToolbar(actionId); if (nodeOnToolbar != null) { editToolbarIcon(actionId, nodeOnToolbar); node.setUserObject(nodeOnToolbar.getUserObject()); } } return true; } return false; }
public Generator getModifiedObject() { if (isOK()) { if (myPane != null) { myPane.readValuesTo(myGenerator); } final String dir = StringUtils.trimToNull(myOutputFolderChooser.getText()); assert dir != null; final String url = VfsUtil.pathToUrl(dir); final VirtualFile file = VirtualFileManager.getInstance().findFileByUrl(url); myGenerator.setOutputDir(file == null ? url : file.getUrl()); return myGenerator; } else { return null; } }
private ContentEntry getContentRoot(String moduleName, String path) { for (ContentEntry e : getContentRoots(moduleName)) { if (e.getUrl().equals(VfsUtil.pathToUrl(path))) return e; } throw new AssertionError("content root not found"); }
private void configSurefirePlugin() { List<String> urls = new ArrayList<String>(); AccessToken accessToken = ReadAction.start(); try { MavenDomProjectModel domModel = null; Element config = myMavenProject.getPluginConfiguration( "org.apache.maven.plugins", "maven-surefire-plugin"); for (String each : MavenJDOMUtil.findChildrenValuesByPath( config, "additionalClasspathElements", "additionalClasspathElement")) { String url = VfsUtil.pathToUrl(each); if (domModel == null) { domModel = MavenDomUtil.getMavenDomProjectModel(myModule.getProject(), myMavenProject.getFile()); } if (domModel != null) { url = MavenPropertyResolver.resolve(url, domModel); } urls.add(url); } } finally { accessToken.finish(); } LibraryTable moduleLibraryTable = myRootModelAdapter.getRootModel().getModuleLibraryTable(); Library library = moduleLibraryTable.getLibraryByName(SUREFIRE_PLUGIN_LIBRARY_NAME); if (library == null) { if (urls.isEmpty()) { return; } library = moduleLibraryTable.createLibrary(SUREFIRE_PLUGIN_LIBRARY_NAME); LibraryOrderEntry orderEntry = myRootModelAdapter.getRootModel().findLibraryOrderEntry(library); orderEntry.setScope(DependencyScope.TEST); } else { if (urls.isEmpty()) { moduleLibraryTable.removeLibrary(library); return; } } String[] oldUrls = library.getUrls(OrderRootType.CLASSES); if (!urls.equals(Arrays.asList(oldUrls))) { Library.ModifiableModel modifiableModel = library.getModifiableModel(); for (String url : oldUrls) { modifiableModel.removeRoot(url, OrderRootType.CLASSES); } for (String url : urls) { modifiableModel.addRoot(url, OrderRootType.CLASSES); } modifiableModel.commit(); } }