Java tutorial
/* * Created 2007/09/09 * Copyright (C) 2003-2009 Naoki Iwami (naoki@limy.org) * * This file is part of Limy Eclipse Plugin. * * Limy Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Limy Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Limy Eclipse Plugin. If not, see <http://www.gnu.org/licenses/>. */ package org.limy.eclipse.qalab.action; import java.util.Collection; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IType; import org.eclipse.jface.viewers.ISelection; import org.limy.eclipse.common.jdt.AbstractUIAction; import org.limy.eclipse.common.ui.LimyUIUtils; import org.limy.eclipse.qalab.LimyQalabPluginUtils; import org.limy.eclipse.qalab.common.LimyQalabEnvironment; import org.limy.eclipse.qalab.common.QalabResourceUtils; /** * @author Naoki Iwami */ public class OpenTestClassAction extends AbstractUIAction { @Override public void doRun(ISelection selection, IProgressMonitor monitor) throws CoreException { Collection<IJavaElement> javaElements = getSelectedJavaElements(); if (!javaElements.isEmpty()) { IJavaElement javaElement = javaElements.iterator().next(); IJavaProject javaProject = javaElement.getJavaProject(); LimyQalabEnvironment env = LimyQalabPluginUtils.createEnv(javaProject.getProject()); IType type = null; if (QalabResourceUtils.isTestResource(javaElement.getResource())) { // eXg\?[X String mainClassName = QalabResourceUtils.getQualifiedMainClassName(env, javaElement.getResource()); type = javaProject.findType(mainClassName); } else { // ?C\?[X String testClassName = QalabResourceUtils.getQualifiedTestClassName(env, javaElement.getResource()); type = javaProject.findType(testClassName); } if (type != null) { LimyUIUtils.openInEditor(type); // LimyUIUtils.openFile((IFile)type.getResource()); } } } }