List of usage examples for org.eclipse.jdt.core IJavaElement JAVA_PROJECT
int JAVA_PROJECT
To view the source code for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.
Click Source Link
From source file:org.springsource.ide.eclipse.gradle.core.test.util.JUnitLaunchConfigUtil.java
License:Open Source License
public static ILaunchConfigurationWorkingCopy createLaunchConfiguration(IJavaElement element) throws CoreException { final String testName; final String mainTypeQualifiedName; final String containerHandleId; switch (element.getElementType()) { case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.PACKAGE_FRAGMENT: { String name = JavaElementLabels.getTextLabel(element, JavaElementLabels.ALL_FULLY_QUALIFIED); containerHandleId = element.getHandleIdentifier(); mainTypeQualifiedName = EMPTY_STRING; testName = name.substring(name.lastIndexOf(IPath.SEPARATOR) + 1); }//from w w w .j a v a 2 s . c o m break; case IJavaElement.TYPE: { containerHandleId = EMPTY_STRING; mainTypeQualifiedName = ((IType) element).getFullyQualifiedName('.'); // don't replace, fix for binary inner types testName = element.getElementName(); } break; case IJavaElement.METHOD: { IMethod method = (IMethod) element; containerHandleId = EMPTY_STRING; mainTypeQualifiedName = method.getDeclaringType().getFullyQualifiedName('.'); testName = method.getDeclaringType().getElementName() + '.' + method.getElementName(); } break; default: throw new IllegalArgumentException( "Invalid element type to create a launch configuration: " + element.getClass().getName()); //$NON-NLS-1$ } String testKindId = TestKindRegistry.getContainerTestKindId(element); ILaunchConfigurationType configType = getLaunchManager() .getLaunchConfigurationType(JUnitLaunchConfigurationConstants.ID_JUNIT_APPLICATION); ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateLaunchConfigurationName(testName)); wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainTypeQualifiedName); wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, element.getJavaProject().getElementName()); wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_KEEPRUNNING, false); wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_CONTAINER, containerHandleId); wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_RUNNER_KIND, testKindId); JUnitMigrationDelegate.mapResources(wc); AssertionVMArg.setArgDefault(wc); if (element instanceof IMethod) { wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_METHOD_NAME, element.getElementName()); // only set for methods } return wc; }
From source file:org.switchyard.tools.ui.JavaUtil.java
License:Open Source License
/** * Returns a Java element that may be used to initialize new class/type * wizards. If the resource is a Java file, its corresponding IJavaElement * will be returned. Other resources will return the first non-empty package * in the project's first source folder. * // w w w. ja v a 2s . c om * @param resource the initial resource. * * @return a suitable initial Java element; may be null. */ public static final IJavaElement getInitialJavaElementForResource(IResource resource) { if (resource == null) { return null; } if (resource.getType() == IResource.ROOT) { return null; } IJavaElement element = JavaCore.create(resource); if (element == null) { element = JavaCore.create(resource.getProject()); } if (element == null) { return null; } if (element.getElementType() == IJavaElement.JAVA_PROJECT) { element = getInitialPackageForProject((IJavaProject) element); } return element; }
From source file:org.whole.lang.artifacts.util.ArtifactsWorkspaceUtils.java
License:Open Source License
public static IEntity toArtifactsPath(IJavaElement fromJavaElement, IJavaElement toJavaElement, IEntity child) { ArtifactsEntityFactory aef = ArtifactsEntityFactory.instance(RegistryConfigurations.RESOLVER); IEntity entity;/*w w w . j ava 2 s . co m*/ String name = toJavaElement.getElementName(); switch (toJavaElement.getElementType()) { case IJavaElement.COMPILATION_UNIT: FileArtifact fileArtifact = aef.createFileArtifact(); fileArtifact.setName(createFileName(name)); entity = fileArtifact; break; case IJavaElement.PACKAGE_FRAGMENT: if (name == IPackageFragment.DEFAULT_PACKAGE_NAME) return fromJavaElement.equals(toJavaElement) ? child : toArtifactsPath(fromJavaElement, toJavaElement.getParent(), child); PackageArtifact packageArtifact = aef.createPackageArtifact(); packageArtifact.setName(aef.createName(name)); entity = packageArtifact; break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: FolderArtifact folderArtifact = aef.createFolderArtifact(); Metadata metadata = aef.createMetadata(); metadata.setAttributes(aef.createAttributes(aef.createAttribute(AttributeEnum.source))); folderArtifact.setMetadata(metadata); folderArtifact.setName(aef.createName(name)); entity = folderArtifact; break; case IJavaElement.JAVA_PROJECT: Project project = aef.createProject(); project.setName(aef.createName(name)); project.setNatures(aef.createNatures(aef.createNature("org.eclipse.jdt.core.javanature"))); project.setArtifacts(aef.createArtifacts(0)); entity = project; break; default: case IJavaElement.JAVA_MODEL: Workspace workspace = aef.createWorkspace(); workspace.setProjects(aef.createProjects(0)); entity = workspace; break; } boolean isWorkspace = Matcher.match(ArtifactsEntityDescriptorEnum.Workspace, entity); if (!EntityUtils.isNull(child)) entity.wGet(isWorkspace ? ArtifactsFeatureDescriptorEnum.projects : ArtifactsFeatureDescriptorEnum.artifacts).wAdd(child); return fromJavaElement.equals(toJavaElement) ? entity : toArtifactsPath(fromJavaElement, toJavaElement.getParent(), entity); }
From source file:org.whole.lang.artifacts.util.ArtifactsWorkspaceUtils.java
License:Open Source License
public static IEntity getArtifacts(IEntity artifact) { ArtifactsEntityFactory aef = ArtifactsEntityFactory.instance(RegistryConfigurations.RESOLVER); IEntity children = BindingManagerFactory.instance.createTuple(); if (Matcher.match(ArtifactsEntityDescriptorEnum.Workspace, artifact)) { IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); for (IProject project : workspaceRoot.getProjects()) { Project projectArtifact = aef.createProject(); projectArtifact.setName(aef.createName(project.getName())); projectArtifact.setArtifacts(aef.createArtifacts(0)); children.wAdd(projectArtifact); }/*from ww w . j av a 2 s .c om*/ } else { try { IBindingManager bindings = BindingManagerFactory.instance.createBindingManager(); bindPath(artifact, bindings, false); IContainer container = (IContainer) (bindings.wIsSet("folder") ? bindings.wGetValue("folder") : bindings.wGetValue("project")); IJavaElement javaContainer = JavaCore.create(container); if (javaContainer == null || javaContainer.getElementType() == IJavaElement.JAVA_PROJECT) { for (IResource resource : container.members()) { if (resource.getType() == IResource.FILE) { appendFileArtifact(((IFile) resource).getName(), children); } else { FolderArtifact folderArtifact = aef.createFolderArtifact(); Metadata metadata = aef.createMetadata(); metadata.setAttributes(aef.createAttributes(aef.createAttribute(AttributeEnum.source))); folderArtifact.setMetadata(metadata); folderArtifact.setName(aef.createName(StringUtils.getFileName(resource.getName()))); folderArtifact.setArtifacts(aef.createArtifacts(0)); children.wAdd(folderArtifact); } } } else { if (javaContainer.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) { IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) javaContainer; if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { for (IJavaElement element : fragmentRoot.getChildren()) { if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { if (element.getElementName() == IPackageFragment.DEFAULT_PACKAGE_NAME) { appendPackageFragmentChildren((IPackageFragment) element, children); } else { PackageArtifact packageArtifact = aef.createPackageArtifact(); packageArtifact.setName( aef.createName(StringUtils.getFileName(element.getElementName()))); packageArtifact.setArtifacts(aef.createArtifacts(0)); children.wAdd(packageArtifact); } } } } } else // IJavaElement.PACKAGE_FRAGMENT appendPackageFragmentChildren((IPackageFragment) javaContainer, children); } } catch (Exception e) { } } return children; }
From source file:rs.snpe.android.refactoring.core.AndroidPackageRenameParticipant.java
License:Open Source License
@Override public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException { if (pm.isCanceled()) { return null; }/*from w w w . j a v a 2 s . c o m*/ if (!getArguments().getUpdateReferences()) return null; IPath pkgPath = packageFragment.getPath(); IJavaProject javaProject = (IJavaProject) packageFragment.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IPath genPath = project.getFullPath().append(IConstants.FD_GEN_SOURCES); if (genPath.isPrefixOf(pkgPath)) { Activator.logInfo(getName() + ": Cannot rename generated package."); return null; } CompositeChange result = new CompositeChange(getName()); if (androidManifest.exists()) { if (androidElements.size() > 0 || isPackage) { getDocument(); Change change = new AndroidPackageRenameChange(androidManifest, manager, document, androidElements, newName, oldName, isPackage); if (change != null) { result.add(change); } } if (isPackage) { Change genChange = getGenPackageChange(pm); if (genChange != null) { result.add(genChange); } } // add layoutChange for (AndroidLayoutFileChanges fileChange : fileChanges) { IFile file = fileChange.getFile(); ITextFileBufferManager lManager = FileBuffers.getTextFileBufferManager(); lManager.connect(file.getFullPath(), LocationKind.NORMALIZE, new NullProgressMonitor()); ITextFileBuffer buffer = lManager.getTextFileBuffer(file.getFullPath(), LocationKind.NORMALIZE); IDocument lDocument = buffer.getDocument(); Change layoutChange = new AndroidLayoutChange(file, lDocument, lManager, fileChange.getChanges()); if (layoutChange != null) { result.add(layoutChange); } } } return (result.getChildren().length == 0) ? null : result; }
From source file:rs.snpe.android.refactoring.core.AndroidPackageRenameParticipant.java
License:Open Source License
private IPackageFragment getGenPackageFragment() throws JavaModelException { IJavaProject javaProject = (IJavaProject) packageFragment.getAncestor(IJavaElement.JAVA_PROJECT); if (javaProject != null && javaProject.isOpen()) { IProject project = javaProject.getProject(); IFolder genFolder = project.getFolder(IConstants.FD_GEN_SOURCES); if (genFolder.exists()) { String javaPackagePath = javaPackage.replace(".", "/"); IPath genJavaPackagePath = genFolder.getFullPath().append(javaPackagePath); IPackageFragment genPackageFragment = javaProject.findPackageFragment(genJavaPackagePath); return genPackageFragment; }//from w w w . j av a 2 s . co m } return null; }
From source file:rs.snpe.android.refactoring.core.AndroidPackageRenameParticipant.java
License:Open Source License
@Override protected boolean initialize(final Object element) { isPackage = false;//from www . j a v a2 s.c o m try { if (element instanceof IPackageFragment) { packageFragment = (IPackageFragment) element; if (!packageFragment.containsJavaResources()) return false; IJavaProject javaProject = (IJavaProject) packageFragment.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IResource manifestResource = project .findMember(AndroidConstants.WS_SEP + AndroidConstants.FN_ANDROID_MANIFEST); if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } androidManifest = (IFile) manifestResource; String packageName = packageFragment.getElementName(); AndroidManifestParser parser; try { parser = AndroidManifestParser.parseForData(androidManifest); } catch (CoreException e) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } javaPackage = parser.getPackage(); oldName = packageName; newName = getArguments().getNewName(); if (oldName == null || newName == null) { return false; } if (javaPackage != null && javaPackage.equals(packageName)) { isPackage = true; } androidElements = addAndroidElements(); try { final IType type = javaProject.findType(AndroidConstants.CLASS_VIEW); SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_REGEXP_MATCH); IJavaSearchScope scope = SearchEngine .createJavaSearchScope(new IJavaElement[] { packageFragment }); final HashSet<IType> elements = new HashSet<IType>(); SearchRequestor requestor = new SearchRequestor() { public void acceptSearchMatch(SearchMatch match) throws CoreException { Object elem = match.getElement(); if (elem instanceof IType) { IType eType = (IType) elem; IType[] superTypes = JavaModelUtil.getAllSuperTypes(eType, new NullProgressMonitor()); for (int i = 0; i < superTypes.length; i++) { if (superTypes[i].equals(type)) { elements.add(eType); break; } } } } }; SearchEngine searchEngine = new SearchEngine(); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null); List<String> views = new ArrayList<String>(); for (IType elem : elements) { views.add(elem.getFullyQualifiedName()); } if (views.size() > 0) { String[] classNames = views.toArray(new String[0]); addLayoutChanges(project, classNames); } } catch (CoreException e) { Activator.log(e); } return isPackage || androidElements.size() > 0 || fileChanges.size() > 0; } } catch (JavaModelException ignore) { } return false; }
From source file:rs.snpe.android.refactoring.core.AndroidTypeMoveParticipant.java
License:Open Source License
@Override protected boolean initialize(Object element) { if (element instanceof IType) { IType type = (IType) element;/*from w ww . j av a 2s.co m*/ IJavaProject javaProject = (IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IResource manifestResource = project .findMember(AndroidConstants.WS_SEP + AndroidConstants.FN_ANDROID_MANIFEST); if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } androidManifest = (IFile) manifestResource; AndroidManifestParser parser; try { parser = AndroidManifestParser.parseForData(androidManifest); } catch (CoreException e) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } javaPackage = parser.getPackage(); oldName = type.getFullyQualifiedName(); Object destination = getArguments().getDestination(); if (destination instanceof IPackageFragment) { IPackageFragment packageFragment = (IPackageFragment) destination; newName = packageFragment.getElementName() + "." + type.getElementName(); } if (oldName == null || newName == null) { return false; } androidElements = addAndroidElements(); try { ITypeHierarchy typeHierarchy = type.newSupertypeHierarchy(null); if (typeHierarchy == null) { return false; } IType[] superTypes = typeHierarchy.getAllSuperclasses(type); for (int i = 0; i < superTypes.length; i++) { IType superType = superTypes[i]; String className = superType.getFullyQualifiedName(); if (className.equals(AndroidConstants.CLASS_VIEW)) { addLayoutChanges(project, type.getFullyQualifiedName()); break; } } } catch (JavaModelException ignore) { } return androidElements.size() > 0 || fileChanges.size() > 0; } return false; }
From source file:rs.snpe.android.refactoring.core.AndroidTypeRenameParticipant.java
License:Open Source License
@Override protected boolean initialize(Object element) { if (element instanceof IType) { IType type = (IType) element;/*from w ww . java 2 s .com*/ IJavaProject javaProject = (IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IResource manifestResource = project .findMember(AndroidConstants.WS_SEP + AndroidConstants.FN_ANDROID_MANIFEST); if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } androidManifest = (IFile) manifestResource; AndroidManifestParser parser; try { parser = AndroidManifestParser.parseForData(androidManifest); } catch (CoreException e) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } javaPackage = parser.getPackage(); oldName = type.getFullyQualifiedName(); String packageName = type.getPackageFragment().getElementName(); newName = getArguments().getNewName(); if (packageName != null) { layoutNewName = packageName + "." + getArguments().getNewName(); } else { layoutNewName = getArguments().getNewName(); } if (oldName == null || newName == null) { return false; } androidElements = addAndroidElements(); try { ITypeHierarchy typeHierarchy = type.newSupertypeHierarchy(null); if (typeHierarchy == null) { return false; } IType[] superTypes = typeHierarchy.getAllSuperclasses(type); for (int i = 0; i < superTypes.length; i++) { IType superType = superTypes[i]; String className = superType.getFullyQualifiedName(); if (className.equals(AndroidConstants.CLASS_VIEW)) { addLayoutChanges(project, type.getFullyQualifiedName()); break; } } } catch (JavaModelException ignore) { } return androidElements.size() > 0 || fileChanges.size() > 0; } return false; }
From source file:scala.tools.eclipse.launching.JUnitPropertyTester.java
License:Open Source License
private boolean canLaunchAsJUnitTest(IJavaElement element) { try {//from w ww. j a va2 s . com switch (element.getElementType()) { case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: return true; // can run, let test runner detect if there are tests case IJavaElement.PACKAGE_FRAGMENT: return ((IPackageFragment) element).hasChildren(); case IJavaElement.COMPILATION_UNIT: case IJavaElement.CLASS_FILE: case IJavaElement.TYPE: case IJavaElement.METHOD: return isJUnitTest(element); default: return false; } } catch (JavaModelException e) { return false; } }