Example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots

List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots.

Prototype

IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;

Source Link

Document

Returns all of the package fragment roots contained in this project, identified on this project's resolved classpath.

Usage

From source file:org.jboss.tools.esb.ui.editor.attribute.ValueFilterHelper.java

License:Open Source License

/**
 * Returns existing package Java model object by qualified package name.
 * // w  ww.  j ava  2 s. c o m
 * @param javaProject
 * @param packageName
 * @return
 */
public static IPackageFragment findPackageFragment(IProject project, String packageName) {
    if (project == null || !project.isAccessible())
        return null;
    IJavaProject javaProject = EclipseUtil.getJavaProject(project);
    if (javaProject == null || packageName == null || packageName.length() == 0)
        return null;
    IPackageFragmentRoot[] rs = null;
    try {
        rs = javaProject.getPackageFragmentRoots();
    } catch (JavaModelException e) {
        ESBUiPlugin.log(e);
    }
    if (rs != null)
        for (int i = 0; i < rs.length; i++) {
            IPackageFragment f = rs[i].getPackageFragment(packageName);
            if (f != null && f.exists())
                return f;
        }
    return null;
}

From source file:org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.java

License:Open Source License

@Override
protected void validateProperties(List<IMessage> messages, IReporter reporter) {
    String configFile = this.hibernateProperties.getConfigurationFile();
    if (configFile != null && configFile.length() > 0) {
        IPath path = new Path(configFile);

        try {/*from  w  ww  .j  av a2  s  . c  o m*/
            IJavaProject jp = getJpaProject().getJavaProject();
            IPackageFragmentRoot[] pfrs = jp.getPackageFragmentRoots();
            for (int i = 0; i < pfrs.length; i++) {
                if (pfrs[i].isArchive())
                    continue;
                if (((IContainer) pfrs[i].getResource()).findMember(path) != null) {
                    return;
                }
            }
        } catch (JavaModelException e) {
            HibernateJptPlugin.logException(e);
        }

        IJavaProject jProject = getJpaProject().getJavaProject();
        IResource res = null;
        if (jProject != null) {
            try {
                IPackageFragmentRoot[] allPackageFragmentRoots = jProject.getAllPackageFragmentRoots();
                for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) {
                    if (!iPackageFragmentRoot.isArchive()) {
                        IResource sourceFolder = iPackageFragmentRoot.getResource();
                        if (sourceFolder instanceof IContainer) {
                            IContainer folder = (IContainer) sourceFolder;
                            if ((res = folder.findMember(path)) != null) {
                                break;
                            }
                        }
                    }
                }
            } catch (JavaModelException e) {
                //ignore
            }
        }
        if (res != null) {
            int resType = res.getType();
            if (resType != IResource.FILE) {
                Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
                IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
                        NOT_A_FILE, new String[] { configFile }, getResource());
                message.setLineNo(prop.getValidationTextRange().getLineNumber());
                messages.add(message);
            }
        } else {
            Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
            IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
                    CONFIG_FILE_NOT_FOUND, new String[] { configFile }, getResource());
            message.setLineNo(prop.getValidationTextRange().getLineNumber());
            messages.add(message);
        }
    }
}

From source file:org.jboss.tools.seam.core.test.refactoring.SeamPropertyRefactoringTest.java

License:Open Source License

private IPackageFragmentRoot getSourceFolder(String folderPath) {
    IResource initSourceFolder = ResourcesPlugin.getWorkspace().getRoot().findMember(folderPath);
    assertNotNull("Can't find source folder: " + folderPath, initSourceFolder);
    IProject project = initSourceFolder.getProject();
    IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
    IPackageFragmentRoot packageFragmentRoot = null;
    try {/*from   w w w  . j a  v  a  2s . c om*/
        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
                    && roots[i].getResource().equals(initSourceFolder)) {
                packageFragmentRoot = roots[i];
                break;
            }
        }
    } catch (JavaModelException e) {
        JUnitUtils.fail("Exception during searching source folder: " + folderPath, e);
    }
    assertNotNull("Can't find source folder: " + folderPath, packageFragmentRoot);
    return packageFragmentRoot;
}

From source file:org.jboss.tools.seam.core.test.refactoring.SeamPropertyRefactoringTest.java

License:Open Source License

private void renamePackage(String sourceFolderPath, String oldPackageName, String newPackageName,
        HashMap<String, String> preferences) throws CoreException {
    IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolderPath);
    assertNotNull("Can't find source folder: " + sourceFolderPath, resource);
    IProject project = resource.getProject();
    IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
    assertNotNull("Can't find java project: " + project.getName(), javaProject);
    IPackageFragmentRoot root = null;/*from www.j av  a  2 s .  co  m*/
    try {
        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
                    && roots[i].getResource().getFullPath().toString().equals(sourceFolderPath)) {
                root = roots[i];
                break;
            }
        }
    } catch (JavaModelException e) {
        JUnitUtils.fail("Can't find source folder: " + sourceFolderPath, e);
    }
    assertNotNull("Can't find source folder: " + sourceFolderPath, root);

    IPackageFragment oldPackage = findPackage(root, oldPackageName);
    assertNotNull("Can't find package \"" + oldPackageName + "\". So it's impossible to rename it.",
            oldPackage);

    JavaRenameProcessor processor = new RenamePackageProcessor(oldPackage);

    SeamFolderRenameParticipant participant = new SeamFolderRenameParticipant();

    checkRename(processor, resource, newPackageName, participant, preferences);
}

From source file:org.jboss.tools.seam.internal.core.project.facet.SeamFacetAbstractInstallDelegate.java

License:Open Source License

protected IResource getSrcFolder(IProject project) throws JavaModelException {
    IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);

    IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
    IPackageFragmentRoot src = null;/*from  ww  w.j  a  va  2 s  .  c  om*/
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
            src = roots[i];
        }
    }
    if (src != null) {
        return src.getResource();
    }
    return null;
}

From source file:org.jboss.tools.seam.ui.wizard.SelectJavaPackageAction.java

License:Open Source License

@Override
public void run() {
    String projectName = (String) getFieldEditor().getData(ISeamParameter.SEAM_PROJECT_NAME);
    if (projectName == null) {
        return;/*from ww w.j  a v  a 2s  .  c  o m*/
    }
    IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
    if (project == null) {
        SeamGuiPlugin.getPluginLog().logError("Can't find java project with name: " + projectName);
        return;
    }
    SeamProjectsSet seamPrjSet = new SeamProjectsSet(project);
    IProject ejbProject = seamPrjSet.getEjbProject();
    if (ejbProject != null) {
        project = ejbProject;
    }
    IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
    if (javaProject == null) {
        SeamGuiPlugin.getPluginLog().logError("Can't find java project with name: " + projectName);
        return;
    }
    IPackageFragmentRoot packageFragmentRoot = null;
    IPackageFragmentRoot[] roots;
    try {
        roots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                packageFragmentRoot = roots[i];
                break;
            }
        }
    } catch (JavaModelException e) {
        SeamGuiPlugin.getPluginLog().logError(e);
    }
    if (packageFragmentRoot == null) {
        packageFragmentRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
    }
    if (packageFragmentRoot == null) {
        SeamGuiPlugin.getPluginLog().logError("Can't find src folder for project " + projectName);
        return;
    }
    IJavaElement[] packages = null;
    try {
        packages = packageFragmentRoot.getChildren();
    } catch (JavaModelException e) {
        SeamGuiPlugin.getPluginLog().logError(e);
    }
    if (packages == null) {
        packages = new IJavaElement[0];
    }

    String initialValue = getFieldEditor().getValue().toString();
    IJavaElement initialElement = null;
    ArrayList<IJavaElement> packagesWithoutDefaultPackage = new ArrayList<IJavaElement>();
    for (IJavaElement packageElement : packages) {
        String packageName = packageElement.getElementName();
        if (packageName.length() > 0) {
            packagesWithoutDefaultPackage.add(packageElement);
            if (packageName.equals(initialValue)) {
                initialElement = packageElement;
            }
        }
    }

    packages = packagesWithoutDefaultPackage.toArray(new IJavaElement[packagesWithoutDefaultPackage.size()]);
    ElementListSelectionDialog dialog = new ElementListSelectionDialog(Display.getCurrent().getActiveShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
    dialog.setTitle(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_TITLE);
    dialog.setMessage(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_DESC);
    dialog.setEmptyListMessage(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_MSG_NONE);
    dialog.setElements(packages);
    if (initialElement != null) {
        dialog.setInitialSelections(new Object[] { initialElement });
    }
    if (dialog.open() == Window.OK) {
        IPackageFragment fragment = (IPackageFragment) dialog.getFirstResult();
        if (fragment != null) {
            getFieldEditor().setValue(fragment.getElementName());
        } else {
            getFieldEditor().setValue("");
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceDeltaFilter.java

License:Open Source License

public boolean applyRules(final ResourceDelta event) throws JavaModelException {
    final IResource resource = event.getResource();
    // prevent processing resources in a closed project
    if (!resource.getProject().isOpen()) {
        return false;
    }//from   w  ww . ja v  a 2 s.c  o m

    final IJavaProject javaProject = JavaCore.create(resource.getProject());
    // check if the resource if a .java file in an existing Package Fragment
    // Root
    if ("java".equals(resource.getFileExtension())) {
        final IPath resourcePath = resource.getFullPath();
        for (IPackageFragmentRoot fragment : javaProject.getPackageFragmentRoots()) {
            if (fragment.getPath().isPrefixOf(resourcePath)) {
                Logger.debug("**accepted** {}", event);
                return true;
            }
        }
    }
    Logger.debug("**rejected** {}", event);
    return false;
}

From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsElementCreationUtils.java

License:Open Source License

/**
 * Returns the first {@link IPackageFragmentRoot} in the given {@link IJavaProject}, or {@code null} if none was found.
 * @param javaProject/*w w w .j  a  v  a  2s  . c o m*/
 * @return the first {@link IPackageFragmentRoot} or {@code null}
 * @throws JavaModelException
 */
public static IPackageFragmentRoot getFirstPackageFragmentRoot(final IJavaProject javaProject)
        throws JavaModelException {
    if (javaProject != null && javaProject.getPackageFragmentRoots().length > 0) {
        return javaProject.getPackageFragmentRoots()[0];
    }
    return null;
}

From source file:org.jetbrains.kotlin.wizards.NewUnitWizardPage.java

License:Apache License

private void setSourceDirByFolderName(String folderName) {
    try {/*from w ww  . j a va  2 s. c o m*/
        sourceDir = null;
        for (IJavaProject jp : JavaCore.create(getWorkspaceRoot()).getJavaProjects()) {
            for (IPackageFragmentRoot pfr : jp.getPackageFragmentRoots()) {
                if (pfr.getPath().toPortableString().equals(folderName)) {
                    sourceDir = pfr;
                    return;
                }
            }
        }
    } catch (JavaModelException jme) {
        KotlinLogger.logAndThrow(jme);
    }
}

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.//w  w  w . ja v  a 2  s . 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);
    }

}