@Override public boolean isCompleted() { final String projectName = dataObject.getName(); return selectedProjectImporter != null && projectName != null && NameUtils.checkProjectName(projectName); }
@Override public Violation isValidName(String value) { if (!NameUtils.checkFileName(value)) { return new Violation() { @Override public String getMessage() { return localization.invalidName(); } @Nullable @Override public String getCorrectedValue() { return null; } }; } return null; } }
@Override public Violation isValidName(String value) { if (!NameUtils.checkFolderName(value)) { return new Violation() { @Override public String getMessage() { return localization.invalidName(); } @Nullable @Override public String getCorrectedValue() { return null; } }; } return null; } }
@Override public FileType getFileTypeByFileName(String name) { if (isNullOrEmpty(name)) { return unknownFileType; } Set<FileType> typesByNamePattern = fileTypes.stream().filter(type -> doesFileNameMatchType(name, type)).collect(toSet()); if (typesByNamePattern.isEmpty()) { return unknownFileType; } if (typesByNamePattern.size() == 1) { return typesByNamePattern.iterator().next(); } String fileExtension = getFileExtension(name); if (isNullOrEmpty(fileExtension)) { return typesByNamePattern.iterator().next(); } Optional<FileType> fileType = typesByNamePattern .stream() .filter(type -> fileExtension.equals(type.getExtension())) .findFirst(); return fileType.orElseGet(() -> typesByNamePattern.iterator().next()); }
@Override public boolean hasInvalidData() { return !isValidCommandName(editedCommand.getName()); }
private Set<FileType> getFileTypesByFile(VirtualFile file) { String name = file.getName(); if (isNullOrEmpty(name)) { return emptySet(); } Set<FileType> typesByNamePattern = fileTypeRegistry .getFileTypes() .stream() .filter( type -> type.getNamePatterns() .stream() .anyMatch(namePattern -> compile(namePattern).test(name))) .collect(toSet()); String fileExtension = getFileExtension(name); if (isNullOrEmpty(fileExtension)) { return typesByNamePattern; } Set<FileType> fileTypes = typesByNamePattern .stream() .filter(type -> fileExtension.equals(type.getExtension())) .collect(toSet()); fileTypes = fileTypes.isEmpty() ? typesByNamePattern : fileTypes; return fileTypes.isEmpty() ? singleton(fileTypeRegistry.getFileTypeByExtension(fileExtension)) : fileTypes; }
@Override public void onNameChanged(String name) { name = name.trim(); editedCommand.setName(name); notifyDirtyStateChanged(); view.showWarning(!isValidCommandName(name)); }
@Override public boolean isCompleted() { final String projectName = dataObject.getName(); return projectName != null && NameUtils.checkProjectName(projectName) && (selectedProjectType != null || selectedProjectTemplate != null); }
@Override public FileType getFileTypeByFile(VirtualFile file) { String fileName = file.getName(); String fileExtension = getFileExtension(fileName); FileType fileType = getFileTypeByFileName(fileName); if (fileType == unknownFileType) { fileType = getFileTypeByExtension(fileExtension); } return fileType != null ? fileType : unknownFileType; }
@Nullable @Override public Violation validate(String value) { if (!NameUtils.checkFolderName(value)) { return new Violation() { @Override public String getMessage() { return coreLocalizationConstant.invalidName(); } @Nullable @Override public String getCorrectedValue() { return null; } }; } return null; } }
@Nullable @Override public Violation validate(String value) { if (!NameUtils.checkFileName(value)) { return new Violation() { @Override public String getMessage() { return coreLocalizationConstant.invalidName(); } @Nullable @Override public String getCorrectedValue() { return null; } }; } return null; } }
@Nullable @Override public String getCorrectedValue() { if (NameUtils.checkProjectName(value)) { return value.contains(" ") ? value.replaceAll(" ", "-") : value; } return null; } };
Promise<Folder> createFolder(final Container parent, final String name) { final Path path = Path.valueOf(name); Optional<Resource> existed = store.getResource(parent.getLocation().append(name)); if (existed.isPresent()) { return promises.reject(new IllegalStateException("Resource already exists")); } if (parent.getLocation().isRoot()) { return promises.reject( new IllegalArgumentException("Failed to create folder in workspace root")); } if (path.segmentCount() == 1 && !checkFolderName(name)) { return promises.reject(new IllegalArgumentException("Invalid folder name")); } return ps.createFolder(parent.getLocation().append(name)) .thenPromise( reference -> { final Resource createdFolder = newResourceFrom(reference); store.register(createdFolder); return promises.resolve(createdFolder.asFolder()); }); }
Promise<File> createFile(final Container parent, final String name, final String content) { if (!checkFileName(name)) { return promises.reject(new IllegalArgumentException("Invalid file name")); } Optional<Resource> existed = store.getResource(parent.getLocation().append(name)); if (existed.isPresent()) { return promises.reject(new IllegalStateException("Resource already exists")); } if (parent.getLocation().isRoot()) { return promises.reject( new IllegalArgumentException("Failed to create file in workspace root")); } return ps.createFile(parent.getLocation().append(name), content) .thenPromise( reference -> { final Resource createdFile = newResourceFrom(reference); store.register(createdFile); return promises.resolve(createdFile.asFile()); }); }
private void validateProjectName() { if (NameUtils.checkProjectName(view.getProjectName())) { view.hideNameError(); } else { view.showNameError(); } }
private void validateProjectName() { if (NameUtils.checkProjectName(view.getProjectName())) { view.markNameValid(); } else { view.markNameInvalid(); } }
@Override public void keepDirectoryNameChanged(@NotNull String directoryName) { if (view.keepDirectory()) { projectParameters().put("keepDir", directoryName); dataObject.setType("blank"); view.highlightDirectoryNameField(!NameUtils.checkProjectName(view.getDirectoryName())); } else { projectParameters().remove("keepDir"); dataObject.setType(null); view.highlightDirectoryNameField(false); } }
@Override public void keepDirectorySelected(boolean keepDirectory) { view.enableDirectoryNameField(keepDirectory); if (keepDirectory) { projectParameters().put("keepDir", view.getDirectoryName()); dataObject.setType("blank"); view.highlightDirectoryNameField(!NameUtils.checkProjectName(view.getDirectoryName())); view.focusDirectoryNameField(); } else { projectParameters().remove("keepDir"); dataObject.setType(null); view.highlightDirectoryNameField(false); } }
@Override public void projectNameChanged(String name) { final String newProjectPath = originParent.append(name).toString(); if (selectedProjectTemplate != null) { updateProjectConfigs(newProjectPath, selectedProjectTemplate); } dataObject.setName(name); dataObject.setPath(newProjectPath); updateDelegate.updateControls(); if (NameUtils.checkProjectName(name)) { view.removeNameError(); } else { view.showNameError(); } }
Promise<Project> createProject(final Project.ProjectRequest createRequest) { checkArgument(checkProjectName(createRequest.getBody().getName()), "Invalid project name"); checkArgument( typeRegistry.getProjectType(createRequest.getBody().getType()) != null,