private Optional<ProblemProjectMarker> getProblemMarker(ProjectConfig projectConfigDto) { List<? extends ProjectProblem> problems = projectConfigDto.getProblems(); if (problems == null || problems.isEmpty()) { return absent(); } Map<Integer, String> code2Message = new HashMap<>(problems.size()); for (ProjectProblem problem : problems) { code2Message.put(problem.getCode(), problem.getMessage()); } return of(new ProblemProjectMarker(code2Message)); }
/** {@inheritDoc} */ @Override public boolean exists() { final Optional<Marker> problemMarker = getMarker(ProblemProjectMarker.PROBLEM_PROJECT); return !problemMarker.isPresent() || !((ProblemProjectMarker) problemMarker.get()) .getProblems() .containsKey(FOLDER_NOT_EXISTS_ON_FS); }
private void checkProjectProblems(Project project) { final Optional<Marker> marker = project.getMarker(PROBLEM_PROJECT); if (!marker.isPresent()) { return; } final Project.ProblemProjectMarker problemProjectMarker = (Project.ProblemProjectMarker) marker.get(); final Map<Integer, String> problems = problemProjectMarker.getProblems(); // If no project folder on file system final String noProjectFolderProblem = problems.get(NO_PROJECT_ON_FILE_SYSTEM); final List<String> importingProjects = appContext.getImportingProjects(); if (!isNullOrEmpty(noProjectFolderProblem) && !importingProjects.contains(project.getPath())) { showImportDialog(project); } }