maven: npe fix

This commit is contained in:
Vladislav.Soroka
2016-10-05 10:28:39 +03:00
parent 20f9daaacb
commit 43ceb346cb
3 changed files with 15 additions and 7 deletions
@@ -289,7 +289,7 @@ public class MavenProject {
return MavenUtil.findProfilesXmlFile(myFile);
}
@NotNull
@Nullable
public File getProfilesXmlIoFile() {
return MavenUtil.getProfilesXmlIoFile(myFile);
}
@@ -16,6 +16,7 @@
package org.jetbrains.idea.maven.project.actions;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.idea.maven.project.MavenProject;
import org.jetbrains.idea.maven.utils.MavenFileTemplateGroupFactory;
import org.jetbrains.idea.maven.utils.actions.MavenActionUtil;
@@ -28,7 +29,7 @@ public class OpenOrCreateProfilesXmlAction extends MavenOpenOrCreateFilesAction
protected List<File> getFiles(AnActionEvent e) {
List<File> result = new ArrayList<>();
for (MavenProject each : MavenActionUtil.getMavenProjects(e.getDataContext())) {
result.add(each.getProfilesXmlIoFile());
ContainerUtil.addIfNotNull(result, each.getProfilesXmlIoFile());
}
return result;
}
@@ -53,7 +53,6 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.*;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
import com.intellij.psi.xml.XmlFile;
import com.intellij.util.DisposeAwareRunnable;
import com.intellij.util.SystemProperties;
import com.intellij.util.concurrency.Semaphore;
@@ -226,7 +225,7 @@ public class MavenUtil {
return new File(PathManager.getSystemPath(), "Maven" + "/" + folder).getAbsoluteFile();
}
public static File getBaseDir(VirtualFile file) {
public static File getBaseDir(@NotNull VirtualFile file) {
File baseDir = VfsUtilCore.virtualToIoFile(file.isDirectory() || file.getParent() == null ? file : file.getParent());
File dir = baseDir;
do {
@@ -239,12 +238,20 @@ public class MavenUtil {
return baseDir;
}
@Nullable
public static VirtualFile findProfilesXmlFile(VirtualFile pomFile) {
return pomFile.getParent().findChild(MavenConstants.PROFILES_XML);
if (pomFile == null) return null;
VirtualFile parent = pomFile.getParent();
if (parent == null) return null;
return parent.findChild(MavenConstants.PROFILES_XML);
}
@Nullable
public static File getProfilesXmlIoFile(VirtualFile pomFile) {
return new File(pomFile.getParent().getPath(), MavenConstants.PROFILES_XML);
if (pomFile == null) return null;
VirtualFile parent = pomFile.getParent();
if (parent == null) return null;
return new File(parent.getPath(), MavenConstants.PROFILES_XML);
}
public static <T, U> List<T> collectFirsts(List<Pair<T, U>> pairs) {
@@ -298,7 +305,7 @@ public class MavenUtil {
VirtualFile file,
@NotNull MavenId projectId,
MavenId parentId,
VirtualFile parentFile,
@Nullable VirtualFile parentFile,
boolean interactive) throws IOException {
Properties properties = new Properties();
Properties conditions = new Properties();