Example usage for org.eclipse.jdt.core IJavaElement JAVA_PROJECT

List of usage examples for org.eclipse.jdt.core IJavaElement JAVA_PROJECT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.

Prototype

int JAVA_PROJECT

To view the source code for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.

Click Source Link

Document

Constant representing a Java project.

Usage

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;
    }
}