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.objectstyle.wolips.wizards.WOComponentCreator.java

License:Open Source License

/**
 * Method createWOComponent./*from w  ww .  j a  v a  2s .com*/
 *
 * @param monitor
 * @throws CoreException
 * @throws InvocationTargetException
 */
public void createWOComponent(IProgressMonitor monitor) throws CoreException, InvocationTargetException {
    IFolder componentFolder = null;
    IPath componentJavaPath = null;
    IPath apiPath = null;
    IContainer componentFolderToReveal = null;
    IJavaProject iJavaProject = JavaCore.create(this.parentResource.getProject());

    switch (this.parentResource.getType()) {
    case IResource.PROJECT:
        componentFolder = ((IProject) this.parentResource).getFolder(this.componentName + ".wo");
        componentFolderToReveal = componentFolder.getParent();
        apiPath = this.parentResource.getProject().getLocation();
        break;
    case IResource.FOLDER:
        componentFolder = ((IFolder) this.parentResource).getFolder(this.componentName + ".wo");
        componentFolderToReveal = componentFolder.getParent();
        apiPath = componentFolder.getParent().getLocation();
        //         IFolder pbFolder = project.getParentFolderWithPBProject((IFolder) this.parentResource);
        //         if (pbFolder != null) {
        //            apiPath = pbFolder.getLocation();
        //         }
        break;
    default:
        throw new InvocationTargetException(new Exception("Wrong parent resource - check validation"));
    }

    IPackageFragmentRoot[] roots = iJavaProject.getPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
            componentJavaPath = roots[i].getCorrespondingResource().getLocation();
            break;
        }
    }
    if (packageName != null && packageName.length() > 0) {
        componentJavaPath = componentJavaPath.append(new Path(packageName.replace('.', '/')));
    }
    prepareFolder(componentFolder, monitor);
    String projectName = this.parentResource.getProject().getName();
    IPath path = componentFolder.getLocation();
    IPath projectRelativeJavaPath = componentJavaPath
            .removeFirstSegments(this.parentResource.getProject().getLocation().segmentCount());
    IFolder javaSourceFolder = this.parentResource.getProject().getFolder(projectRelativeJavaPath);
    prepareFolder(javaSourceFolder, monitor);
    ComponentEngine componentEngine = new ComponentEngine();
    try {
        componentEngine.init();
    } catch (Exception e) {
        WizardsPlugin.getDefault().log(e);
        throw new InvocationTargetException(e);
    }
    // TODO: select template in the user interface
    //      componentEngine.setSelectedTemplateName(componentEngine.names()[0]);
    componentEngine.setProjectName(projectName);
    componentEngine.setCreateBodyTag(this.createBodyTag);
    componentEngine.setComponentName(this.componentName);
    componentEngine.setPackageName(this.packageName);
    componentEngine.setSuperclassName(this.superclassName);
    componentEngine.setComponentPath(path);
    componentEngine.setApiPath(apiPath);
    componentEngine.setJavaPath(componentJavaPath);
    componentEngine.setCreateApiFile(this.createApiFile);
    componentEngine.setHTMLBodyType(this.htmlBodyType);
    componentEngine.setWOOEncoding(this.wooEncoding);

    try {
        componentEngine.run(new NullProgressMonitor());
        this.parentResource.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
        IResource[] resources = new IResource[] {
                componentFolderToReveal.findMember(this.componentName + ".java"),
                componentFolder.findMember(this.componentName + ".wod") };
        page.setResourcesToReveal(resources);
    } catch (Exception e) {
        WizardsPlugin.getDefault().log(e);
        throw new InvocationTargetException(e);
    }
}

From source file:org.org.eclipse.dws.ui.internal.wizards.pages.DependenciesFromClasspathPage.java

License:Open Source License

/**
 * Gets the possible dependency wrappers.
 * //from  www .j av a  2s  . co  m
 * @param javaProject
 *            the java project
 * 
 * @return the possible dependency wrappers
 * 
 * @throws JavaModelException
 *             the java model exception
 */
private Set<PossibleDependencyWrapper> getPossibleDependencyWrappers(IJavaProject javaProject)
        throws JavaModelException {
    Set<IPackageFragmentRoot> packageFragmentRoots = new TreeSet<IPackageFragmentRoot>(
            new Comparator<IPackageFragmentRoot>() {
                public int compare(IPackageFragmentRoot o1, IPackageFragmentRoot o2) {
                    return o1.getElementName().compareTo(o2.getElementName());
                }

            });
    for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) {
        if (isPossibleDependency(packageFragmentRoot)) {
            packageFragmentRoots.add(packageFragmentRoot);
        }
    }
    Set<PossibleDependencyWrapper> possibleDependencyWrappers = new TreeSet<PossibleDependencyWrapper>(
            new Comparator<PossibleDependencyWrapper>() {

                public int compare(PossibleDependencyWrapper o1, PossibleDependencyWrapper o2) {
                    int result = o1.getLibraryId().compareTo(o2.getLibraryId());
                    if (o1.getExactMatch() != o2.getExactMatch()) {
                        result = -(o1.getExactMatch().compareTo(o2.getExactMatch()));
                    }
                    return result;
                }

            });
    for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
        String libraryPath = packageFragmentRoot.getPath().toOSString();
        final String libraryId = packageFragmentRoot.getElementName();
        Set<ArtifactVersion> possibleDependencies = findPossibleDependencies(libraryId);
        if (possibleDependencies.size() > 0) {
            Set<ArtifactVersionWrapper> artifactVersionWrappers = new TreeSet<ArtifactVersionWrapper>(
                    new ArtifactVersionWrappersComparator(libraryId));
            wrapArtifactVersions(possibleDependencies, artifactVersionWrappers, libraryId);
            boolean hasExactMatch = lookForExactMatch(artifactVersionWrappers);
            possibleDependencyWrappers.add(new PossibleDependencyWrapper(libraryPath, libraryId,
                    Collections.unmodifiableSet(artifactVersionWrappers), hasExactMatch));
        }
    }
    possibleDependencyWrappers = Collections.unmodifiableSet(possibleDependencyWrappers);
    return possibleDependencyWrappers;
}

From source file:org.org.eclipse.dws.ui.internal.wizards.pages.LookupJavadocAndSourcesForLibrariesInClasspathPage.java

License:Open Source License

/**
 * Gets the libraries with missing javadoc or sources wrappers.
 * //w w w  . j a  v a  2  s.  co m
 * @param javaProject
 *            the java project
 * 
 * @return the libraries with missing javadoc or sources wrappers
 * 
 * @throws JavaModelException
 *             the java model exception
 */
private Set<LibraryWithMissingJavadocOrSourcesWrapper> getLibrariesWithMissingJavadocOrSourcesWrappers(
        IJavaProject javaProject) throws JavaModelException {
    Set<IPackageFragmentRoot> packageFragmentRoots = new TreeSet<IPackageFragmentRoot>(
            new Comparator<IPackageFragmentRoot>() {
                public int compare(IPackageFragmentRoot o1, IPackageFragmentRoot o2) {
                    return o1.getElementName().compareTo(o2.getElementName());
                }

            });
    for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) {
        if (isLibraryWithMissingJavadocOrSource(packageFragmentRoot)) {
            packageFragmentRoots.add(packageFragmentRoot);
        }
    }
    Set<LibraryWithMissingJavadocOrSourcesWrapper> librariesWithMissingJavadocOrSources = new TreeSet<LibraryWithMissingJavadocOrSourcesWrapper>(
            new Comparator<LibraryWithMissingJavadocOrSourcesWrapper>() {

                public int compare(LibraryWithMissingJavadocOrSourcesWrapper o1,
                        LibraryWithMissingJavadocOrSourcesWrapper o2) {
                    return o1.getLibraryId().compareTo(o2.getLibraryId());
                }

            });
    for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
        String libraryPath = packageFragmentRoot.getPath().toOSString();
        final String libraryId = packageFragmentRoot.getElementName();
        Set<ArtifactVersion> possibleDependencies = findPossibleDependencies(libraryId);
        if (possibleDependencies.size() > 0) {
            Set<ArtifactVersionWrapper> artifactVersionWrappers = new TreeSet<ArtifactVersionWrapper>(
                    new ArtifactVersionWrappersComparator(libraryId));
            wrapArtifactVersions(possibleDependencies, artifactVersionWrappers, libraryId);
            boolean hasExactMatch = lookForExactMatch(artifactVersionWrappers);
            if (hasExactMatch) {
                librariesWithMissingJavadocOrSources.add(new LibraryWithMissingJavadocOrSourcesWrapper(
                        libraryPath, libraryId, artifactVersionWrappers, missesJavadoc(packageFragmentRoot),
                        missesSources(packageFragmentRoot), packageFragmentRoot));
            }
        }
    }
    librariesWithMissingJavadocOrSources = Collections.unmodifiableSet(librariesWithMissingJavadocOrSources);
    return librariesWithMissingJavadocOrSources;
}

From source file:org.parallelj.designer.extension.tools.ExecutableTools.java

License:Open Source License

/**
 * Returns the fully qualified name of Class created. It is used as to open
 * the New Class Wizard dialog. It uses the OpenNewClassWizardAction to open
 * the wizard and returns the Class name if Java Element is created.
 * //from   ww  w . j a v  a  2  s  . c om
 * @param eObject
 * @return name of created Java class
 */
public static String getExecutableValueFromClassWizard(EObject eObject) {
    String newExecutableValue = null;
    NewClassWizardPage newClassWizardPage = new NewClassWizardPage();
    newClassWizardPage.addSuperInterface("java.lang.Runnable");
    OpenNewClassWizardAction openNewClassWizardAction = new OpenNewClassWizardAction();
    IPackageFragmentRoot initRoot = null;
    IJavaProject jproject = ResourceSelectorTools.getJavaProjectFromEObject(eObject).getJavaProject();
    try {
        if (jproject.exists()) {
            IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    initRoot = roots[i];
                    break;
                }
            }
        }
    } catch (JavaModelException e) {
        Activator.logError(e.getMessage());
    }
    newClassWizardPage.setPackageFragmentRoot(initRoot, true);
    newClassWizardPage.setMethodStubSelection(false, false, true, true);
    openNewClassWizardAction.setConfiguredWizardPage(newClassWizardPage);
    openNewClassWizardAction.run();
    if (openNewClassWizardAction.getCreatedElement() != null
            && openNewClassWizardAction.getCreatedElement().getElementName() != null) {
        if (newClassWizardPage.getPackageText() != "") {
            newExecutableValue = newClassWizardPage.getPackageText() + "." + newClassWizardPage.getTypeName();
        } else {
            newExecutableValue = newClassWizardPage.getTypeName();
        }
    }
    return newExecutableValue;
}

From source file:org.seasar.dbflute.emecha.eclipse.plugin.dfassist.action.AbstractOpenActionBase.java

License:Apache License

/**
 * ????//  ww  w  . j a  va2s . co m
 * @param file ???
 * @return ??
 */
protected String getBasePackageName(IFile file, IJavaProject javap) {
    String filePath = file.getParent().getFullPath().toString();
    String rootPath = null;
    try {
        for (IPackageFragmentRoot root : javap.getPackageFragmentRoots()) {
            if (filePath.startsWith(root.getPath().toString())) {
                rootPath = root.getPath().toString();
                break;
            }
        }
    } catch (JavaModelException e) {
        DfAssistPlugin.log(e);
    }
    if (rootPath == null)
        return null;
    String dir = filePath.substring(rootPath.length() + 1);
    int index = dir.indexOf("/exbhv");
    if (index > 0) {
        return dir.substring(0, index).replace('/', '.');
    }
    return null;
}

From source file:org.seasar.diigu.eclipse.util.ProjectUtils.java

License:Apache License

public static IPackageFragmentRoot[] getSrcPackageFragmentRoot(IJavaProject javap) throws CoreException {
    List result = new ArrayList();
    IPackageFragmentRoot[] roots = javap.getPackageFragmentRoots();
    for (int i = 0; roots != null && i < roots.length; i++) {
        IPackageFragmentRoot root = roots[i];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            result.add(root);//from  ww w.j  av a2 s  . c om
        }
    }
    return (IPackageFragmentRoot[]) result.toArray(new IPackageFragmentRoot[result.size()]);
}

From source file:org.seasar.eclipse.common.util.ProjectUtil.java

License:Apache License

public static IPackageFragmentRoot getFirstSrcPackageFragmentRoot(IJavaProject javap) throws CoreException {
    IPackageFragmentRoot[] roots = javap.getPackageFragmentRoots();
    for (int i = 0; roots != null && i < roots.length; i++) {
        IPackageFragmentRoot root = roots[i];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            return root;
        }/*from  w  ww . j a  va  2 s .c  o  m*/
    }
    return null;
}

From source file:org.seasar.eclipse.common.util.ProjectUtil.java

License:Apache License

public static IPackageFragmentRoot[] getSrcPackageFragmentRoot(IJavaProject javap) throws CoreException {
    List<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>();
    IPackageFragmentRoot[] roots = javap.getPackageFragmentRoots();
    for (int i = 0; roots != null && i < roots.length; i++) {
        IPackageFragmentRoot root = roots[i];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            result.add(root);//w  w w . j a  va2 s.c  o  m
        }
    }
    return result.toArray(new IPackageFragmentRoot[result.size()]);
}

From source file:org.seasar.resource.synchronizer.servlet.SrcLocationServlet.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//from   ww  w. j ava2  s .  c o  m
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    response.setStatus(HttpServletResponse.SC_OK);
    PrintWriter w = response.getWriter();
    try {
        for (Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
            String s = e.nextElement().toString();
            IProject project = root.getProject(s);
            if (project != null && project.exists()) {
                IJavaProject javap = JavaCore.create(project);
                for (IPackageFragmentRoot pfr : javap.getPackageFragmentRoots()) {
                    if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        String p = pfr.getResource().getLocation().toString();
                        w.println(p);
                    }
                }
            }
        }
    } catch (CoreException e) {
        Activator.log(e);
    } finally {
        if (w != null) {
            w.close();
        }
    }
}

From source file:org.seasar.s2daoplugin.util.JavaProjectUtil.java

License:Apache License

public static IPackageFragmentRoot[] findPackageFragmentRootsSharedOutputLocation(IPackageFragmentRoot root) {
    if (root == null) {
        return new IPackageFragmentRoot[0];
    }/*from ww  w  .j a v  a  2 s  . com*/
    IJavaProject project = root.getJavaProject();
    Set result = new HashSet();
    try {
        IPath output1 = root.getRawClasspathEntry().getOutputLocation();
        if (output1 == null) {
            output1 = project.getOutputLocation();
        }
        IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_BINARY) {
                continue;
            }
            IPath output2 = roots[i].getRawClasspathEntry().getOutputLocation();
            if (output2 == null) {
                output2 = project.getOutputLocation();
            }
            if (output1.equals(output2)) {
                result.add(roots[i]);
            }
        }
    } catch (JavaModelException e) {
        S2DaoPlugin.log(e);
    }
    return (IPackageFragmentRoot[]) result.toArray(new IPackageFragmentRoot[result.size()]);
}