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

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

Introduction

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

Prototype

int PACKAGE_FRAGMENT_ROOT

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

Click Source Link

Document

Constant representing a package fragment root.

Usage

From source file:org.switchyard.tools.ui.wizards.Java2WSDLWizard.java

License:Open Source License

private void setFilePageDefaultsForJavaElement(IJavaElement javaElement) {
    IResource root;//from  w  w w  . java2 s  .c  o m
    switch (javaElement.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        root = javaElement.getResource();
        break;
    default:
        root = JavaUtil.getFirstResourceRoot(javaElement.getJavaProject());
        if (root == null) {
            root = javaElement.getResource();
            if (root.getType() == IResource.FILE) {
                root = root.getParent();
            }
        }
        break;
    }
    if (root != null) {
        _filePage.setContainerFullPath(root.getFullPath());
    }
    int elementType = javaElement.getElementType();
    if (elementType == IJavaElement.TYPE) {
        _filePage.setFileName(javaElement.getElementName());
    } else if (elementType == IJavaElement.COMPILATION_UNIT) {
        IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
        if (primaryType == null) {
            getBaseFileName(javaElement.getElementName());
        } else {
            _filePage.setFileName(primaryType.getElementName());
        }
    }
}

From source file:org.whole.lang.artifacts.templates.WorkspaceTemplate.java

License:Open Source License

protected void buildDirectory(IFolder directory) {
    getBindings().wEnterScope();//w w  w. j av  a  2s. c  o  m
    ab.FolderArtifact_();
    String directoryName = directory.getName();
    ab.Name(directoryName);
    getBindings().wDefValue("file", directory.getLocation().toFile());
    getBindings().wDefValue("fileName", directoryName);
    if (directory.getResourceAttributes().isReadOnly())
        buildMetadata("readonly");
    else
        buildMetadata();
    if (!testAndClearPurge()) {
        IJavaElement javaElement = JavaCore.create(directory);
        if (javaElement != null && javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
            IJavaElement[] children = null;
            try {
                children = ((IPackageFragmentRoot) javaElement).getChildren();
            } catch (JavaModelException e) {
            }
            if (children != null && children.length > 0) {
                Arrays.sort(children, new JavaElementComparator());
                ab.Artifacts_(children.length);
                for (IJavaElement artifact : children)
                    buildPackage((IPackageFragment) artifact);
                ab._Artifacts();
            } else
                ab.Artifacts();

        } else {
            IResource[] artifacts = null;
            try {
                artifacts = directory.members();
            } catch (CoreException e) {
            }
            if (artifacts != null && artifacts.length > 0) {
                Arrays.sort(artifacts, new ResourceComparator());
                ab.Artifacts_(artifacts.length);
                for (IResource artifact : artifacts)
                    buildArtifact(artifact);
                ab._Artifacts();
            } else
                ab.Artifacts();
        }
    } else
        ab.Artifacts();
    ab._FolderArtifact();
    getBindings().wExitScope();
}

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;/*from w w w.j a v a2 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  w w  w  .  j av  a  2s  . c o  m
    } 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:pt.iscte.dcti.expressionsview.ExpressionsView.java

License:Open Source License

private Class<?> loadClass() {
    if (input != null) {
        IResource r = (IResource) input.getAdapter(IResource.class);
        if (r != null) {
            IProject proj = r.getProject();
            try {
                if (proj.hasNature(JavaCore.NATURE_ID)) {
                    IJavaProject javaProj = JavaCore.create(proj);
                    ProjectClassLoader loader = new ProjectClassLoader(getClass().getClassLoader(), proj,
                            aguiajClassMap);
                    IPackageFragmentRoot[] packageFragmentRoot = javaProj.getAllPackageFragmentRoots();
                    for (int i = 0; i < packageFragmentRoot.length; i++) {
                        if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT
                                && !packageFragmentRoot[i].isArchive()) {
                            IPath src = packageFragmentRoot[i].getCorrespondingResource()
                                    .getProjectRelativePath();
                            IPath path = ((FileEditorInput) input).getFile().getProjectRelativePath();
                            int match = path.matchingFirstSegments(src);
                            String name = path.removeFirstSegments(match).removeFileExtension().toString()
                                    .replace('/', '.');
                            // TODO several src folders
                            return loader.loadClass(name);
                        }/* w  w w .j  a  v  a 2 s  .  c  om*/
                    }
                }
            } catch (ClassNotFoundException e) {

            } catch (CoreException e) {
                e.printStackTrace();
            }
        }
    }
    return null;
}

From source file:rabbit.ui.internal.treebuilders.JavaDataTreeBuilderTest.java

License:Apache License

@Test
public void shouldCorrectlyBuildAPathWithInnerClassMethod() {
    // A method inside an inner class:
    method = (IMethod) JavaCore.create("=J/src<main{Main.java[Main[Inner~hello");
    ICategory[] categories = { Category.DATE, Category.WORKSPACE, Category.PROJECT, Category.JAVA_PACKAGE_ROOT,
            Category.JAVA_PACKAGE, Category.JAVA_TYPE_ROOT, Category.JAVA_MEMBER };

    List<TreePath> expected = asList(
            newPath(date, ws, method.getJavaProject(), getElement(method, IJavaElement.PACKAGE_FRAGMENT_ROOT),
                    getElement(method, IJavaElement.PACKAGE_FRAGMENT), method.getTypeRoot(), // Main.java
                    method.getParent().getParent(), // Main
                    method.getParent(), // Inner
                    method, duration));//w  w  w.jav a 2s .co  m

    data = mock(IJavaData.class);
    given(data.get(IJavaData.DATE)).willReturn(date);
    given(data.get(IJavaData.DURATION)).willReturn(duration);
    given(data.get(IJavaData.JAVA_ELEMENT)).willReturn(method);
    given(data.get(IJavaData.WORKSPACE)).willReturn(ws);

    ICategoryProvider provider = mock(ICategoryProvider.class);
    given(provider.getSelected()).willReturn(asList(categories));
    ITreePathBuilder builder = create(provider);

    IJavaDataProvider input = mock(IJavaDataProvider.class);
    given(input.get()).willReturn(asList(data));
    List<TreePath> actual = builder.build(input);

    assertThat(toString(actual, expected), actual, equalTo(expected));
}

From source file:rabbit.ui.internal.treebuilders.JavaDataTreeBuilderTest.java

License:Apache License

@Override
public void shouldCorrectlyBuildASinglePath() {
    ICategory[] categories = { Category.DATE, Category.WORKSPACE, Category.PROJECT, Category.JAVA_PACKAGE_ROOT,
            Category.JAVA_PACKAGE, Category.JAVA_TYPE_ROOT, Category.JAVA_MEMBER };

    List<TreePath> expected = asList(
            newPath(date, ws, method.getJavaProject(), getElement(method, IJavaElement.PACKAGE_FRAGMENT_ROOT),
                    getElement(method, IJavaElement.PACKAGE_FRAGMENT), method.getTypeRoot(), method.getParent(),
                    method, duration));/*from  w w w .j  a  va2  s . c o  m*/

    ICategoryProvider provider = mock(ICategoryProvider.class);
    given(provider.getSelected()).willReturn(asList(categories));
    ITreePathBuilder builder = create(provider);

    IJavaDataProvider input = mock(IJavaDataProvider.class);
    given(input.get()).willReturn(asList(data));
    List<TreePath> actual = builder.build(input);

    assertThat(toString(actual, expected), actual, equalTo(expected));
}

From source file:scala.tools.eclipse.launching.JUnitPropertyTester.java

License:Open Source License

private boolean canLaunchAsJUnitTest(IJavaElement element) {
    try {//from  w  ww.j  a v  a  2  s  .  c  om
        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;
    }
}

From source file:sharpen.core.SharpenConversionBatch.java

License:Open Source License

IFolder targetFolderForCompilationUnit(ICompilationUnit cu, String generatedNamespace) throws CoreException {

    if (null == _targetProject) {
        // no target folder specified
        // converted files go in the same folder as their corresponding
        // java source files
        return (IFolder) cu.getCorrespondingResource().getParent();
    }/*from w w  w.  j  a v  a  2  s. c  o  m*/

    final IPath basePath = cu.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT).getResource()
            .getProjectRelativePath();
    final IFolder targetFolder = _targetProject.getFolder(basePath);

    // compute target folder based on packageName
    String packageName = generatedNamespace == null ? cu.getParent().getElementName()
            : cleanupNamespace(generatedNamespace);
    if (packageName.length() > 0) {
        return getTargetPackageFolder(targetFolder, packageName);
    }
    return targetFolder;
}