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

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

Introduction

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

Prototype

IPackageFragmentRoot getPackageFragmentRoot(IResource resource);

Source Link

Document

Returns a package fragment root for the given resource, which must either be a folder representing the top of a package hierarchy, or a ZIP archive (e.g.

Usage

From source file:com.mtcflow.project.util.MTCProjectSupport.java

License:Open Source License

private IJavaProject createProject(String projName) throws Exception {
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

    if (projName == null || projName.trim().length() == 0)
        return null;

    // create eclipse project
    IProject project = root.getProject(projName);
    if (project.exists())
        project.delete(true, null);/*from  w w w  .j  a va 2  s . c  o m*/

    project.create(null);
    project.open(null);

    addNature(project);

    // create java project
    IJavaProject javaProject = JavaCore.create(project);

    // add bin/ouput folder
    IFolder binFolder = project.getFolder("bin");
    binFolder.create(false, true, null);
    javaProject.setOutputLocation(binFolder.getFullPath(), null);

    // add libs to project class path
    List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
    IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
    LibraryLocation[] locations = JavaRuntime.getLibraryLocations(vmInstall);
    for (LibraryLocation element : locations) {
        entries.add(JavaCore.newLibraryEntry(element.getSystemLibraryPath(), null, null));
    }

    javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), null);

    // create source folder
    IFolder sourceFolder = project.getFolder("src");
    sourceFolder.create(false, true, null);

    IPackageFragmentRoot srcRoot = javaProject.getPackageFragmentRoot(sourceFolder);
    IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
    IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
    System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
    newEntries[oldEntries.length] = JavaCore.newSourceEntry(srcRoot.getPath());
    javaProject.setRawClasspath(newEntries, null);

    return javaProject;
}

From source file:com.nginious.http.plugin.NewProjectWizard.java

License:Apache License

public boolean performFinish() {
    String name = pageOne.getProjectName();
    IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(name);

    if (newProject.exists()) {
        throw new RuntimeException("Project exists!");
    }//from  w w w .  j  av  a2 s.c om

    try {
        int listenPort = pageOne.getListenPort();

        if (!pageOne.validate(listenPort)) {
            return false;
        }

        IProgressMonitor progressMonitor = new NullProgressMonitor();

        // Create project
        newProject.create(progressMonitor);
        newProject.open(progressMonitor);

        // Create folder structure
        String[] paths = { "src", "WebContent", "WebContent/WEB-INF", "WebContent/WEB-INF/classes",
                "WebContent/WEB-INF/lib", "WebContent/WEB-INF/xsp" };
        addToProjectStructure(newProject, paths);

        ClassPathBuilder builder = new ClassPathBuilder(newProject, progressMonitor);
        builder.build(progressMonitor);

        // Set project nature
        IProjectDescription description = newProject.getDescription();
        description.setNatureIds(new String[] { JavaCore.NATURE_ID, NginiousPlugin.NATURE_ID });
        newProject.setDescription(description, null);

        // Create java project
        IJavaProject javaProject = JavaCore.create(newProject);

        // Set classes output folder
        IFolder classesFolder = newProject.getFolder("WebContent/WEB-INF/classes");
        javaProject.setOutputLocation(classesFolder.getFullPath(), null);

        // Set classpath
        IClasspathEntry[] entries = builder.getClassPath();
        javaProject.setRawClasspath(entries, progressMonitor);

        // Set source folder
        IFolder sourceFolder = newProject.getFolder("src");
        IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);
        IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
        IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
        System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
        newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath());
        javaProject.setRawClasspath(newEntries, null);
        BasicNewProjectResourceWizard.updatePerspective(this.configurationElement);

        newProject.setPersistentProperty(NginiousPlugin.LISTEN_PORT_PROP_KEY, Integer.toString(listenPort));
        newProject.setPersistentProperty(NginiousPlugin.PUBLISH_URL_PROP_KEY, pageOne.getPublishUrl());
        newProject.setPersistentProperty(NginiousPlugin.PUBLISH_USERNAME_PROP_KEY,
                pageOne.getPublishUsername());
        newProject.setPersistentProperty(NginiousPlugin.PUBLISH_PASSWORD_PROP_KEY,
                pageOne.getPublishPassword());
        newProject.setPersistentProperty(NginiousPlugin.MIN_MEMORY_PROP_KEY,
                Integer.toString(pageOne.getMinMemory()));
        newProject.setPersistentProperty(NginiousPlugin.MAX_MEMORY_PROP_KEY,
                Integer.toString(pageOne.getMaxMemory()));
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage(), e);
    }

    return true;
}

From source file:com.redhat.ceylon.eclipse.ui.test.CeylonEditorTest.java

License:Open Source License

private IProject createJavaProject(String name) throws CoreException, JavaModelException {
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IProject project = root.getProject(name);
    project.create(null);/*from ww w .  ja  v  a  2s .  co  m*/
    project.open(null);

    IProjectDescription description = project.getDescription();
    description.setNatureIds(new String[] { JavaCore.NATURE_ID });
    project.setDescription(description, null);

    IJavaProject javaProject = JavaCore.create(project);

    IFolder binFolder = project.getFolder("bin");
    binFolder.create(false, true, null);
    javaProject.setOutputLocation(binFolder.getFullPath(), null);

    List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
    IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
    LibraryLocation[] locations = JavaRuntime.getLibraryLocations(vmInstall);
    for (LibraryLocation element : locations) {
        entries.add(JavaCore.newLibraryEntry(element.getSystemLibraryPath(), null, null));
    }
    //add libs to project class path
    javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), null);

    IFolder sourceFolder = project.getFolder("src");
    sourceFolder.create(false, true, null);

    IPackageFragmentRoot packageroot = javaProject.getPackageFragmentRoot(sourceFolder);
    IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
    IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
    System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
    newEntries[oldEntries.length] = JavaCore.newSourceEntry(packageroot.getPath());
    javaProject.setRawClasspath(newEntries, null);
    return project;
}

From source file:com.siteview.mde.internal.core.converter.MonitorConverter.java

License:Open Source License

private Set findPackages(IProject proj, Map libs, IBuild build) {
    TreeSet result = new TreeSet();
    IJavaProject jp = JavaCore.create(proj);
    Iterator it = libs.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry entry = (Map.Entry) it.next();
        String libName = entry.getKey().toString();
        List filter = (List) entry.getValue();
        IBuildEntry libEntry = build.getEntry(SOURCE_PREFIX + libName);
        if (libEntry != null) {
            String[] tokens = libEntry.getTokens();
            for (int i = 0; i < tokens.length; i++) {
                IResource folder = null;
                if (tokens[i].equals(".")) //$NON-NLS-1$
                    folder = proj;//from w  ww.  j  a va  2 s  . c o m
                else
                    folder = proj.getFolder(tokens[i]);
                if (folder != null)
                    addPackagesFromFragRoot(jp.getPackageFragmentRoot(folder), result, filter);
            }
        } else {
            IResource res = proj.findMember(libName);
            if (res != null)
                addPackagesFromFragRoot(jp.getPackageFragmentRoot(res), result, filter);
        }
    }
    return result;
}

From source file:com.siteview.mde.internal.core.util.ManifestUtils.java

License:Open Source License

public static IPackageFragmentRoot[] findPackageFragmentRoots(IManifestHeader header, IProject project) {
    IJavaProject javaProject = JavaCore.create(project);

    String[] libs;/*from   w w w. j  a va 2  s . c om*/
    if (header == null || header.getValue() == null)
        libs = new String[] { "." }; //$NON-NLS-1$
    else
        libs = header.getValue().split(","); //$NON-NLS-1$

    IBuild build = getBuild(project);
    if (build == null) {
        try {
            return javaProject.getPackageFragmentRoots();
        } catch (JavaModelException e) {
            return new IPackageFragmentRoot[0];
        }
    }
    List pkgFragRoots = new LinkedList();
    for (int j = 0; j < libs.length; j++) {
        String lib = libs[j];
        //https://bugs.eclipse.org/bugs/show_bug.cgi?id=230469           
        IPackageFragmentRoot root = null;
        if (!lib.equals(".")) { //$NON-NLS-1$
            try {
                root = javaProject.getPackageFragmentRoot(project.getFile(lib));
            } catch (IllegalArgumentException e) {
                return new IPackageFragmentRoot[0];
            }
        }
        if (root != null && root.exists()) {
            pkgFragRoots.add(root);
        } else {
            IBuildEntry entry = build.getEntry("source." + lib); //$NON-NLS-1$
            if (entry == null)
                continue;
            String[] tokens = entry.getTokens();
            for (int i = 0; i < tokens.length; i++) {
                IResource resource = project.findMember(tokens[i]);
                if (resource == null)
                    continue;
                root = javaProject.getPackageFragmentRoot(resource);
                if (root != null && root.exists())
                    pkgFragRoots.add(root);
            }
        }
    }
    return (IPackageFragmentRoot[]) pkgFragRoots.toArray(new IPackageFragmentRoot[pkgFragRoots.size()]);
}

From source file:com.siteview.mde.internal.ui.editor.schema.NewClassCreationWizard.java

License:Open Source License

private void initializeValues(IProject project, String value) throws JavaModelException {
    value = TextUtil.trimNonAlphaChars(value);
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot srcEntryDft = null;
    IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
            srcEntryDft = roots[i];/*  w ww.ja  v  a 2  s .c om*/
            break;
        }
    }
    if (srcEntryDft != null)
        packageRoot = srcEntryDft;
    else
        packageRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());

    String packageNameString = null;
    int index = value.lastIndexOf("."); //$NON-NLS-1$
    if (index == -1) {
        className = value;
    } else {
        className = value.substring(index + 1);
        packageNameString = value.substring(0, index);
    }
    if (packageNameString != null && packageRoot != null) {
        IFolder packageFolder = project.getFolder(packageNameString);
        packageName = packageRoot.getPackageFragment(packageFolder.getProjectRelativePath().toOSString());
    }
}

From source file:com.siteview.mde.internal.ui.search.dependencies.AddNewDependenciesOperation.java

License:Open Source License

private void addPackagesFromResource(IJavaProject jProject, IResource res, Set ignorePkgs) {
    if (res == null)
        return;//from  w  w  w  . ja va  2s .c om
    try {
        IPackageFragmentRoot root = jProject.getPackageFragmentRoot(res);
        IJavaElement[] children = root.getChildren();
        for (int i = 0; i < children.length; i++) {
            String pkgName = children[i].getElementName();
            if (children[i] instanceof IParent)
                if (pkgName.length() > 0 && ((IParent) children[i]).hasChildren())
                    ignorePkgs.add(children[i].getElementName());
        }
    } catch (JavaModelException e) {
    }
}

From source file:com.siteview.mde.internal.ui.wizards.plugin.NewProjectCreationOperation.java

License:Open Source License

private void addAllSourcePackages(IProject project, Set list) {
    try {//from   w w w .  ja  v a2s .c  o  m
        IJavaProject javaProject = JavaCore.create(project);
        IClasspathEntry[] classpath = javaProject.getRawClasspath();
        for (int i = 0; i < classpath.length; i++) {
            IClasspathEntry entry = classpath[i];
            if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                IPath path = entry.getPath().removeFirstSegments(1);
                if (path.segmentCount() > 0) {
                    IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(project.getFolder(path));
                    IJavaElement[] children = root.getChildren();
                    for (int j = 0; j < children.length; j++) {
                        IPackageFragment frag = (IPackageFragment) children[j];
                        if (frag.getChildren().length > 0 || frag.getNonJavaResources().length > 0)
                            list.add(children[j].getElementName());
                    }
                }
            }
        }
    } catch (JavaModelException e) {
    }
}

From source file:com.sun.codemodel.ClassGenerator.java

License:Apache License

public ClassGenerator(PrintStream s, String space, IFolder generated, IJavaProject project) {
    pw = s;//from www. j  a  va 2  s. c om
    indentSpace = space;
    /*
     * collectedReferences = new HashMap<String, ReferenceList>(); //ids =
     * new HashSet<String>(); importedClasses = new HashSet<JClass>();
     */
    this.project = project;
    this.generated = generated;
    pfr = project.getPackageFragmentRoot(generated);
}

From source file:com.testify.ecfeed.ui.common.EclipseModelImplementer.java

License:Open Source License

private IPackageFragmentRoot createNewSourceFolder(String name) throws CoreException {
    IProject project = fFileInfoProvider.getProject();
    IJavaProject javaProject = JavaCore.create(project);
    IFolder srcFolder = project.getFolder(name);
    int i = 0;/*  w w  w .  j  ava2s. c  o m*/
    while (srcFolder.exists()) {
        String newName = name + i++;
        srcFolder = project.getFolder(newName);
    }
    srcFolder.create(false, true, null);
    IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(srcFolder);

    IClasspathEntry[] entries = javaProject.getRawClasspath();
    IClasspathEntry[] updated = new IClasspathEntry[entries.length + 1];
    System.arraycopy(entries, 0, updated, 0, entries.length);
    updated[entries.length] = JavaCore.newSourceEntry(root.getPath());
    javaProject.setRawClasspath(updated, null);
    return root;
}