package krasa.mavenrun.analyzer.action; import org.jetbrains.idea.maven.model.MavenArtifactNode; import org.jetbrains.idea.maven.project.MavenProject; import com.intellij.notification.Notification; import com.intellij.notification.NotificationType; import com.intellij.notification.Notifications; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.pom.Navigatable; /** * @author Vojtech Krasa */ public class JumpToSourceAction extends BaseAction { public JumpToSourceAction(Project project, MavenProject mavenProject, MavenArtifactNode myTreeNode) { super(project, mavenProject, myTreeNode, "Jump To Source"); } @Override public void actionPerformed(AnActionEvent e) { final Navigatable navigatable = getNavigatable(mavenArtifactNode); if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(true); } else { final Notification notification = new Notification(MAVEN_HELPER_DEPENDENCY_ANALYZER_NOTIFICATION, "", "Parent dependency not found, strange...", NotificationType.WARNING); ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { Notifications.Bus.notify(notification, project); } }); } } }