Example usage for org.eclipse.jdt.core IPackageFragmentRoot getCorrespondingResource

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getCorrespondingResource

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot getCorrespondingResource.

Prototype

IResource getCorrespondingResource() throws JavaModelException;

Source Link

Document

Returns the resource that corresponds directly to this element, or null if there is no resource that corresponds to this element.

Usage

From source file:org.grails.ide.eclipse.core.internal.GrailsResourceUtil.java

License:Open Source License

public static boolean isSourceFolder(IPackageFragmentRoot root) {
    IJavaProject jp = root.getJavaProject();
    try {//from   w w  w.j av  a 2s .  c  o m
        IResource rootRsrc = root.getCorrespondingResource();
        if (rootRsrc == null) {
            return false;
        }
        IPath rootPath = rootRsrc.getFullPath();
        for (IClasspathEntry entry : jp.getRawClasspath()) {
            if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                if (entry.getPath() != null && entry.getPath().equals(rootPath)) {
                    return true;
                }
            }
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return false;
}

From source file:org.grails.ide.eclipse.core.junit.Grails20AwareTestFinder.java

License:Open Source License

public boolean isPackageFragementWithPath(IPackageFragmentRoot pfr, String pfrPath) {
    try {/*from  w  ww  . j av a 2s  . c o  m*/
        IResource rsrc = pfr.getCorrespondingResource();
        if (rsrc != null) {
            IPath path = rsrc.getFullPath();
            debug("isGrailsTest pfr path = " + path);
            return path.removeFirstSegments(1).equals(new Path(pfrPath));
        }
    } catch (JavaModelException e) {
        GrailsCoreActivator.log(e);
    }
    return false;
}

From source file:org.grails.ide.eclipse.explorer.providers.GrailsNavigatorLabelProvider.java

License:Open Source License

public Image getImage(Object element) {
    if (element instanceof GrailsDependencyPluginFolder) {
        GrailsDependencyPluginFolder dependencyPluginFolder = (GrailsDependencyPluginFolder) element;
        if (dependencyPluginFolder.isInPlacePlugin()) {
            return GrailsContainerTypeManager.getInstance().getOverlayedImage(dependencyPluginFolder.getType(),
                    GrailsContainerTypeManager.LOCAL_PLUGIN_OVERLAY);
        }//from  w w w.ja v a 2  s.  c  o m
    }

    if (element instanceof ILogicalFolder) {
        GrailsProjectStructureTypes type = ((ILogicalFolder) element).getType();
        if (type != null) {
            return GrailsContainerTypeManager.getInstance().getIcon(type);
        }
    } else if (element instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) element;
        if (GrailsResourceUtil.isReimagedGrailsSourceFolder(root)) {
            try {
                IResource resource = root.getCorrespondingResource();
                if (resource instanceof IFolder) {
                    IFolder folder = (IFolder) resource;
                    GrailsProjectStructureTypes type = GrailsResourceUtil.getGrailsContainerType(folder);
                    if (type != null) {
                        return GrailsContainerTypeManager.getInstance().getIcon(type);
                    }
                }
            } catch (JavaModelException e) {
                GrailsCoreActivator.log(e);
            }
        }

    } else if (element instanceof IFolder) {
        IFolder folder = (IFolder) element;

        if (GrailsNature.isGrailsProject(folder.getProject())
                && GrailsResourceUtil.isReimagedGrailsProjectFileFolder(folder)) {
            GrailsProjectStructureTypes type = GrailsResourceUtil.getGrailsContainerType(folder);
            if (type != null) {
                return GrailsContainerTypeManager.getInstance().getIcon(type);
            }
        }
    }
    return null;
}

From source file:org.grails.ide.eclipse.explorer.providers.GrailsNavigatorLabelProvider.java

License:Open Source License

public String getText(Object element) {
    if (element instanceof ILogicalFolder) {
        ILogicalFolder logicalFolder = (ILogicalFolder) element;
        String name = logicalFolder.getName();
        if (name == null) {
            GrailsProjectStructureTypes type = logicalFolder.getType();
            if (type != null) {
                name = type.getDisplayName();
            }//from  w ww .ja va  2 s  .  co m
        }
        return name;

    } else if (element instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot root = (IPackageFragmentRoot) element;

        if (GrailsResourceUtil.isReimagedGrailsSourceFolder(root)) {
            try {
                IResource resource = root.getCorrespondingResource();
                if (resource instanceof IFolder) {
                    IFolder folder = (IFolder) resource;
                    GrailsProjectStructureTypes type = GrailsResourceUtil.getGrailsContainerType(folder);
                    if (type != null) {
                        return type.getDisplayName();
                    }
                }
            } catch (JavaModelException e) {
                GrailsCoreActivator.log(e);
            }
        } else if (GrailsResourceUtil.isGrailsDependencyPackageFragmentRoot(root)) {
            return GrailsResourceUtil.convertRootName(root.getElementName());
        }
    } else if (element instanceof IFolder) {
        IFolder folder = (IFolder) element;

        if (GrailsNature.isGrailsProject(folder.getProject())
                && GrailsResourceUtil.isReimagedGrailsProjectFileFolder(folder)) {
            GrailsProjectStructureTypes type = GrailsResourceUtil.getGrailsContainerType(folder);
            if (type != null) {
                return type.getDisplayName();
            }
        }
    }
    return null;
}

From source file:org.gw4e.eclipse.handlers.SynchronizeBuildPoliciesHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) throws ExecutionException {
    boolean autoBuilding = ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
    IWorkbenchWindow aww = HandlerUtil.getActiveWorkbenchWindow(event);
    ISelection sel = HandlerUtil.getCurrentSelection(event);
    if (sel.isEmpty())
        return null;
    if (sel instanceof IStructuredSelection) {

        IStructuredSelection selection = (IStructuredSelection) sel;
        if (selection != null) {
            Object obj = selection.getFirstElement();
            if (obj != null) {
                try {
                    IResource selectedResource = null;
                    if (obj instanceof IJavaProject) {
                        IJavaProject jp = (IJavaProject) obj;
                        selectedResource = jp.getProject();
                    }/*from   www .j a  va  2s .  com*/
                    if (obj instanceof IPackageFragmentRoot) {
                        IPackageFragmentRoot pfr = (IPackageFragmentRoot) obj;
                        selectedResource = pfr.getCorrespondingResource();
                    }
                    if (obj instanceof IPackageFragment) {
                        IPackageFragment pf = (IPackageFragment) obj;
                        selectedResource = pf.getCorrespondingResource();
                    }
                    if (selectedResource != null && !selectedResource.exists())
                        return null;
                    // This is where the synchronization is done ...
                    ResourceManager.setAutoBuilding(false);
                    GraphWalkerContextManager.synchronizeBuildPolicies(selectedResource, aww);
                } catch (Exception e) {
                    ResourceManager.logException(e);
                } finally {
                    ResourceManager.setAutoBuilding(autoBuilding);
                }
            }
        }
    }
    return null;
}

From source file:org.joe_e.eclipse.Taming.java

License:BSD License

IFile findPolicyFile() throws CoreException {
    /*//ww w.  j av  a 2 s . co  m
     * Project runtime taming policy file builder
     */
    IContainer srcContainer = null;
    IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
    for (IPackageFragmentRoot r : roots) {
        IResource resource = r.getCorrespondingResource();
        if (resource instanceof IFolder || resource instanceof IProject) {
            srcContainer = (IContainer) resource;
            break;
        }
    }

    if (srcContainer == null) {
        throw new CoreException(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 10,
                "Couldn't find source directory for output of " + "org.joe_e.taming.Policy.", null));
    }

    IFolder current = srcContainer.getFolder(new Path("org"));
    if (!current.exists()) {
        current.create(false, true, null);
        current.setDerived(true);
    } else {
        // in case user adds a org.something package
        if (current.members().length > 1) {
            current.setDerived(false);
        }
    }
    String[] restOfPath = new String[] { "joe_e", "taming" };
    for (String pkg : restOfPath) {
        current = current.getFolder(pkg);
        if (!current.exists()) {
            current.create(false, true, null);
            current.setDerived(true);
        }
    }

    return current.getFile("Policy.java");
}

From source file:org.mobicents.eclipslee.servicecreation.util.BaseFinder.java

License:Apache License

/**
 * Gets the source file for the given compilation unit.
 * @param unit//  w  ww .  j av a2 s  . c o  m
 * @return
 */

public static IFolder getSourceFolder(ICompilationUnit unit) {
    try {
        IPackageFragmentRoot root = JavaModelUtil.getPackageFragmentRoot(unit);
        return (IFolder) root.getCorrespondingResource();
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.mobicents.eclipslee.servicecreation.util.BaseFinder.java

License:Apache License

/**
 * Gets the source file for the given file.  Usually an XML file, but it doesn't have to
 * be.//  w ww  . j  av  a2  s .  c om
 * @param xmlFile
 * @return
 */

public static IFolder getSourceFolder(IFile xmlFile) {
    try {
        IAdaptable adaptable = (IAdaptable) xmlFile;
        IJavaElement element = (IJavaElement) adaptable.getAdapter(IJavaElement.class);
        if (element == null) {
            IResource resource = (IResource) adaptable.getAdapter(IResource.class);
            while (element == null && resource.getType() != IResource.PROJECT) {
                resource = resource.getParent();
                element = (IJavaElement) resource.getAdapter(IJavaElement.class);
            }
            if (element == null)
                element = JavaCore.create(resource);
        }

        IPackageFragmentRoot root = JavaModelUtil.getPackageFragmentRoot(element);
        return (IFolder) root.getCorrespondingResource();
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.mobicents.eclipslee.servicecreation.wizards.generic.FilenamePage.java

License:Apache License

/**
 * Tests if the current workbench selection is a suitable
 * container to use.//from  w w w .  jav  a  2s.c  o m
 */

private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {

        IJavaElement element = getInitialJavaElement((IStructuredSelection) selection);
        IPackageFragmentRoot initialRoot;
        initialRoot = JavaModelUtil.getPackageFragmentRoot(element);
        if (initialRoot == null || initialRoot.isArchive()) {
            IJavaProject javaProject = element.getJavaProject();
            if (javaProject != null) {
                try {
                    initialRoot = null;
                    if (javaProject.exists()) {
                        IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots();
                        for (int i = 0; i < roots.length; i++) {
                            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                                initialRoot = roots[i];
                                break;
                            }
                        }
                    }
                } catch (JavaModelException e) {
                    ServiceCreationPlugin.log("JavaModelException determining project root.");
                }
                if (initialRoot == null) {
                    initialRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
                }
            }
        }

        try {
            setSourceContainer((IFolder) initialRoot.getCorrespondingResource());
        } catch (JavaModelException e) {
            ServiceCreationPlugin.log("JavaModelException thrown setting source container on FilenamePage");
        }

        //         // Initialize the maven module dialog
        //         mavenModuleText.setText(mavenModule);

        // Initialize the filename dialog
        fileText.setText("__Replace_Me__" + ends);

        if (element != null && element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            IPackageFragment fragment = (IPackageFragment) element;
            setPackage(fragment);
            return;
        }

        if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            ICompilationUnit unit = (ICompilationUnit) element;
            IPackageFragment fragment = (IPackageFragment) unit.getParent();
            setPackage(fragment);
            return;
        }

        setPackage(null);
    }

}

From source file:org.mybatis.generator.eclipse.core.callback.EclipseShellCallback.java

License:Apache License

public void refreshProject(String project) {
    try {//from  ww  w.jav  a  2s. c o  m
        IPackageFragmentRoot root = getSourceFolder(project);
        root.getCorrespondingResource().refreshLocal(IResource.DEPTH_INFINITE, null);
    } catch (Exception e) {
        // ignore
        ;
    }
}