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

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

Introduction

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

Prototype

IPackageFragment getPackageFragment(String packageName);

Source Link

Document

Returns the package fragment with the given package name.

Usage

From source file:seeit3d.java.modeler.generator.PackageModelGenerator.java

License:Open Source License

private void analizeDependencies(Container container, Collection<String> packagesNames,
        IJavaProject javaProject) throws JavaModelException {
    List<IPackageFragment> evaluatedPackages = new ArrayList<IPackageFragment>();
    for (String packageName : packagesNames) {
        IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) {
            if (!iPackageFragmentRoot.isArchive()) {
                IPackageFragment packageFragment = iPackageFragmentRoot.getPackageFragment(packageName);
                if (packageFragment != null && packageFragment.exists()
                        && !evaluatedPackages.contains(packageFragment)) {
                    Container relatedContainer = this.analize(packageFragment, false);
                    if (relatedContainer != null) {
                        container.addRelatedContainer(relatedContainer);
                    }/*from   w ww  .  java  2s.c  o m*/
                    evaluatedPackages.add(packageFragment);
                }
            }
        }
    }
}

From source file:x10dt.ui.launch.cpp.wizards.CppProjectPropertiesWizardPage.java

License:Open Source License

private void createSampleCode(final IProgressMonitor monitor) throws CoreException {
    this.fCreatedFile = this.fCurrProject.getFile("src/Hello.x10"); //$NON-NLS-1$
    final IFolder srcFolder = this.fCurrProject.getFolder("src"); //$NON-NLS-1$
    final IJavaProject javaProject = getJavaProject();
    final IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder);
    final IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(""); //$NON-NLS-1$

    this.fCreatedFile.create(WizardUtils.createSampleContentStream(pkgFrag.getElementName(), "Hello"), //$NON-NLS-1$
            IResource.FORCE | IResource.KEEP_HISTORY, monitor);

    openSourceFile(this.fCreatedFile);
}

From source file:x10dt.ui.launch.java.wizards.X10ProjectWizardSecondPage.java

License:Open Source License

@Override
public void performFinish(IProgressMonitor monitor) throws CoreException, InterruptedException {
    final X10ProjectWizardFirstPage firstPage = (X10ProjectWizardFirstPage) this.getPreviousPage();
    final IProject project = firstPage.getProjectHandle();

    super.performFinish(monitor);

    // -- create src-java and bin-java
    String srcJava = "src-java";
    String binJava = "bin-java";
    String x10GenSrc = "x10-gen-src";
    IFolder srcFolder = project.getFolder(srcJava);
    IFolder binFolder = project.getFolder(binJava);
    IFolder x10genFolder = project.getFolder(x10GenSrc);
    srcFolder.create(IResource.FORCE, true, monitor);
    binFolder.create(IResource.FORCE, true, monitor);
    x10genFolder.create(IResource.FORCE, true, monitor);

    // -- add src-java to classpath
    IClasspathEntry javasrc = JavaCore.newSourceEntry(project.getFolder(srcJava).getFullPath(), new IPath[0],
            project.getFolder(binJava).getFullPath());
    IClasspathEntry x10gen = JavaCore.newSourceEntry(project.getFolder(x10GenSrc).getFullPath());
    IJavaProject javaProject = JavaCore.create(project);
    IClasspathEntry[] entries = javaProject.getRawClasspath();
    IClasspathEntry[] newEntries = new IClasspathEntry[entries.length + 2];
    System.arraycopy(entries, 0, newEntries, 0, entries.length);
    newEntries[newEntries.length - 1] = javasrc;
    newEntries[newEntries.length - 2] = x10gen;
    javaProject.setRawClasspath(newEntries, new NullProgressMonitor());

    // generate sample "Hello World" X10 application
    if (firstPage.isGenHello()) {
        ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
            public void run(IProgressMonitor monitor) throws CoreException {
                IFile newFile = project.getFile("src/Hello.x10"); //$NON-NLS-1$
                IFolder srcFolder = project.getFolder("src"); //$NON-NLS-1$
                IJavaProject javaProject = JavaCore.create(project);
                IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder);
                IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(""); //$NON-NLS-1$

                InputStream sourceInputStream = WizardUtils.createSampleContentStream(pkgFrag.getElementName(),
                        "Hello"); //$NON-NLS-1$
                newFile.create(sourceInputStream, IResource.FORCE | IResource.KEEP_HISTORY, monitor);

                ((X10ProjectWizard) X10ProjectWizardSecondPage.this.getWizard()).selectAndReveal(newFile);
                openResource(newFile);/*from www.jav  a  2  s. c  o m*/
            }
        }, monitor);
    }
}

From source file:x10dt.ui.parser.PolyglotNodeLocator.java

License:Open Source License

private IClassFile resolveClassFile(final String path) throws JavaModelException {
    IJavaProject javaProject = JavaCore.create(fSrcProject.getRawProject());
    IClasspathEntry[] cpEntries = javaProject.getResolvedClasspath(true);

    for (int i = 0; i < cpEntries.length; i++) {
        IClasspathEntry entry = cpEntries[i];

        if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
            IPath entryPath = entry.getPath();
            IPackageFragmentRoot pkgRoot = javaProject.findPackageFragmentRoot(entryPath);
            final int pkgEnd = path.lastIndexOf('/');
            String pkgName = path.substring(0, pkgEnd).replace('/', '.');
            IPackageFragment pkgFrag = pkgRoot.getPackageFragment(pkgName);

            return pkgFrag.getClassFile(path.substring(pkgEnd + 1));
        }/*from  w  ww.  j a v  a  2 s  .  c  o  m*/
    }
    return null;
}

From source file:x10dt.ui.wizards.NewX10PackageWizardPage.java

License:Open Source License

private IStatus packageChanged() {
    StatusInfo status = new StatusInfo();
    String packName = getPackageText();
    if (packName.length() > 0) {
        IStatus val = JavaConventions.validatePackageName(packName);
        if (val.getSeverity() == IStatus.ERROR) {
            status.setError(MessageFormat
                    .format(NewWizardMessages.NewPackageWizardPage_error_InvalidPackageName, val.getMessage()));
            return status;
        } else if (val.getSeverity() == IStatus.WARNING) {
            status.setWarning(MessageFormat.format(
                    NewWizardMessages.NewPackageWizardPage_warning_DiscouragedPackageName, val.getMessage()));
        }//from   w w  w.  jav  a  2  s .com
    } else {
        status.setError(NewWizardMessages.NewPackageWizardPage_error_EnterName);
        return status;
    }

    IPackageFragmentRoot root = getPackageFragmentRoot();
    if (root != null && root.getJavaProject().exists()) {
        IPackageFragment pack = root.getPackageFragment(packName);
        try {
            IPath rootPath = root.getPath();
            IPath outputPath = root.getJavaProject().getOutputLocation();
            if (rootPath.isPrefixOf(outputPath) && !rootPath.equals(outputPath)) {
                // if the bin folder is inside of our root, don't allow to
                // name a package
                // like the bin folder
                IPath packagePath = pack.getPath();
                if (outputPath.isPrefixOf(packagePath)) {
                    status.setError(NewWizardMessages.NewPackageWizardPage_error_IsOutputFolder);
                    return status;
                }
            }
            if (pack.exists()) {
                if (pack.containsJavaResources() || !pack.hasSubpackages()) {
                    status.setError(NewWizardMessages.NewPackageWizardPage_error_PackageExists);
                } else {
                    status.setError(NewWizardMessages.NewPackageWizardPage_error_PackageNotShown);
                }
            }
            // 11/14/2007 RMF disabled to avoid dependency on EFS for now
            else {
                URI location = URIUtils.getExpectedURI(pack.getResource().getLocationURI());
                if (location != null) {
                    IFileStore store = EFS.getStore(location);
                    if (store.fetchInfo().exists()) {
                        status.setError(
                                NewWizardMessages.NewPackageWizardPage_error_PackageExistsDifferentCase);
                    }
                }
            }
        } catch (CoreException e) {
            X10DTCorePlugin.getInstance().logException(e.getMessage(), e);
        }
    }
    return status;
}

From source file:x10dt.ui.wizards.NewX10PackageWizardPage.java

License:Open Source License

/**
 * Returns the resource handle that corresponds to the element to was created or will be created.
 * /* w  w w . ja  v a2 s  . c  o m*/
 * @return A resource or null if the page contains illegal values.
 * @since 3.0
 */
public IResource getModifiedResource() {
    IPackageFragmentRoot root = getPackageFragmentRoot();
    if (root != null) {
        return root.getPackageFragment(getPackageText()).getResource();
    }
    return null;
}