protected boolean isSourceOrPackage(ResourceNode node) { return node.getData().getParentWithMarker(SourceFolderMarker.ID).isPresent(); }
public static String resolveFQN(Resource resource) { final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (!srcFolder.isPresent()) { throw new IllegalStateException( "Fully qualified name can not be resolved for '" + resource.getLocation() + "'"); } return resolveFQN((Container) srcFolder.get(), resource); }
@Override public boolean isRenameAllowed(Resource resource) { boolean inSource = resource.getParentWithMarker(SourceFolderMarker.ID).isPresent(); boolean isJavaClass = resource.isFile() && "java".equals(((File) resource).getExtension()); return !inSource || !resource.isFolder() && !isJavaClass; } }
@Override public void actionPerformed(ActionEvent e) { final Resource[] resources = appContext.getResources(); final boolean inJavaProject = resources != null && resources.length == 1 && isJavaProject(resources[0].getRelatedProject().get()); checkState(inJavaProject && resources[0].getParentWithMarker(ID).isPresent()); final Resource resource = resources[0]; if (resource instanceof Container) { newJavaSourceFilePresenter.showDialog((Container) resource); } else { final Container parent = resource.getParent(); if (parent != null) { newJavaSourceFilePresenter.showDialog(parent); } else { throw new IllegalStateException("Failed to get parent container"); } } }
protected Node transform(ResourceNode resourceNode) { final Optional<Resource> srcFolder = resourceNode.getData().getParentWithMarker(SourceFolderMarker.ID); if (!srcFolder.isPresent()) { return resourceNode; } final Optional<Marker> marker = srcFolder.get().getMarker(SourceFolderMarker.ID); final ContentRoot contentRoot = ((SourceFolderMarker) marker.get()).getContentRoot(); if (contentRoot == ContentRoot.TEST_SOURCE && !resourceNode.getData().getLocation().equals(srcFolder.get().getLocation())) { resourceNode .getAttributes() .put( CUSTOM_BACKGROUND_FILL, singletonList(Style.theme.projectExplorerTestItemBackground())); } return resourceNode; } }
@Override public void updateInPerspective(@NotNull ActionEvent e) { final Resource resource = appContext.getResource(); if (resource == null) { e.getPresentation().setEnabledAndVisible(false); return; } final Optional<Project> project = resource.getRelatedProject(); if (!project.isPresent()) { e.getPresentation().setEnabledAndVisible(false); return; } e.getPresentation() .setEnabledAndVisible( isJavaProject(project.get()) && resource.getParentWithMarker(ID).isPresent()); }
@Override public Promise<String> expand() { final Resource[] resources = appContext.getResources(); if (resources == null || resources.length != 1) { return Promises.resolve(""); } final Resource resource = resources[0]; final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (resource.getResourceType() == FILE && isJavaFile(resource) && srcFolder.isPresent()) { return Promises.resolve(JavaUtil.resolveFQN((Container) srcFolder.get(), resource)); } else { return Promises.resolve(""); } } }
@Override public void updateProjectAction(ActionEvent e) { final Resource resource = appContext.getResource(); if (resource == null) { e.getPresentation().setEnabledAndVisible(false); return; } final Optional<Project> project = resource.getRelatedProject(); if (!project.isPresent()) { e.getPresentation().setEnabledAndVisible(false); return; } e.getPresentation() .setEnabledAndVisible( isJavaProject(project.get()) && resource.getParentWithMarker(ID).isPresent()); } }
private void performAction() { final Resource[] resources = appContext.getResources(); if (resources == null || resources.length > 1) { return; } final Resource resource = resources[0]; final Optional<Project> project = resource.getRelatedProject(); if (!JavaUtil.isJavaProject(project.get())) { return; } final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (!srcFolder.isPresent() || resource.getLocation().equals(srcFolder.get().getLocation())) { return; } RefactoredItemType renamedItemType = null; if (resource.getResourceType() == FILE && isJavaFile((File) resource)) { renamedItemType = COMPILATION_UNIT; } else if (resource instanceof Container) { renamedItemType = PACKAGE; } if (renamedItemType == null) { return; } movePresenter.show(RefactorInfo.of(REFACTOR_MENU, renamedItemType, resources)); }
/** * Make Organize imports operation. If the operation doesn't have conflicts all imports will be * applied otherwise a special window will be showed for resolving conflicts. * * @param editor current active editor */ public void organizeImports(EditorPartPresenter editor) { this.editor = editor; this.file = editor.getEditorInput().getFile(); if (file instanceof Resource) { final Optional<Resource> srcFolder = ((Resource) file).getParentWithMarker(SourceFolderMarker.ID); if (!srcFolder.isPresent()) { return; } clientServerEventService .sendFileTrackingSuspendEvent() .then( success -> { doOrganizeImports(file.getLocation().toString()); }); } }
@Override public void update(ActionEvent event) { event.getPresentation().setVisible(true); final Resource[] resources = appContext.getResources(); if (resources == null || resources.length > 1) { event.getPresentation().setEnabled(false); return; } final Resource resource = resources[0]; final Optional<Project> project = resource.getRelatedProject(); final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (resource.getResourceType() == FILE) { event .getPresentation() .setEnabled( !isEditorPartActive && isJavaProject(project.get()) && srcFolder.isPresent() && isJavaFile((File) resource)); } else if (resource instanceof Container) { event .getPresentation() .setEnabled(!isEditorPartActive && isJavaProject(project.get()) && srcFolder.isPresent()); } }
/** {@inheritDoc} */ @Override public void updateInPerspective(ActionEvent event) { event.getPresentation().setVisible(true); final Resource[] resources = appContext.getResources(); if (resources == null || resources.length != 1) { event.getPresentation().setEnabled(false); return; } final Resource resource = resources[0]; final Optional<Project> project = resource.getRelatedProject(); if (!project.isPresent()) { event.getPresentation().setEnabled(false); return; } final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (resource.getResourceType() == FILE) { event .getPresentation() .setEnabled( JavaUtil.isJavaProject(project.get()) && srcFolder.isPresent() && isJavaFile((File) resource)); } else if (resource instanceof Container) { event .getPresentation() .setEnabled(JavaUtil.isJavaProject(project.get()) && srcFolder.isPresent()); } }
final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID);
private void analyzeProjectTreeSelection(Presentation presentation) { Resource[] resources = appContext.getResources(); if (resources == null || resources.length > 1) { presentation.setEnabled(false); return; } Resource resource = resources[0]; if (resource.isProject() && isJavaProject((Project) resource)) { testDetector.setContextType(PROJECT); presentation.setEnabled(true); return; } Project project = resource.getProject(); if (!isJavaProject(project)) { presentation.setEnabled(false); return; } if (isJavaTestFile(resource)) { testDetector.setContextType(TestExecutionContext.ContextType.FILE); } else if (resource instanceof Container) { Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID); if (!srcFolder.isPresent() || resource.getLocation().equals(srcFolder.get().getLocation())) { presentation.setEnabled(false); return; } testDetector.setContextType(TestExecutionContext.ContextType.FOLDER); } presentation.setEnabled(true); selectedNodePath = resource.getLocation().toString(); }
final Optional<Resource> srcFolder = resource.getParentWithMarker(SourceFolderMarker.ID);