@Deprecated public IProjectHandler getProjectHandler(Project project) { MPSPlugin.assertNotInEDT(); IProjectStore projectStore = ((ProjectEx) project).getStateStore(); File mpsProject = project.getComponent(MPSProject.class).getProjectFile(); File projectFile = (projectStore.getStorageScheme() == StorageScheme.DEFAULT ? mpsProject.getParentFile() : mpsProject); String projectPath = projectFile.getAbsolutePath(); return getProjectHandler(projectPath); }
private static boolean isSameProject(String path, @NotNull Project project) { IProjectStore projectStore = (IProjectStore) ServiceKt.getStateStore(project); String toOpen = FileUtil.toSystemIndependentName(path); String existing = projectStore.getProjectFilePath(); String existingBaseDir = projectStore.getProjectBasePath(); if (existingBaseDir == null) { // could be null if not yet initialized return false; } final File openFile = new File(toOpen); if (openFile.isDirectory()) { return FileUtil.pathsEqual(toOpen, existingBaseDir); } if (StorageScheme.DIRECTORY_BASED == projectStore.getStorageScheme()) { // todo: check if IPR is located not under the project base dir return FileUtil.pathsEqual( FileUtil.toSystemIndependentName(openFile.getParentFile().getPath()), existingBaseDir); } return FileUtil.pathsEqual(toOpen, existing); }