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

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

Introduction

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

Prototype

int K_SOURCE

To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.

Click Source Link

Document

Kind constant for a source path root.

Usage

From source file:org.eclipse.jst.jsf.common.ui.internal.dialogfield.JavaClassWizardPage.java

License:Open Source License

private void initializeExpectedValues() {
    // source folder name, package name, class name
    int loc = _className.indexOf(":"); //$NON-NLS-1$
    if (loc != -1) {
        if (loc < _className.length()) {
            _initialValues.classArgs = _className.substring(loc + 1, _className.length());
            _className = _className.substring(0, loc);
        }//  www  .java2  s  . c o  m
        if (loc > 0) {
            _initialValues.className = _className.substring(0, loc);
        } else if (loc == 0) {
            _initialValues.className = ""; //$NON-NLS-1$
        }
    }
    _fClassNameStatus = JavaConventions.validateJavaTypeName(_initialValues.className, SOURCE_COMPLIANCE_1_3,
            SOURCE_COMPLIANCE_1_3);

    loc = _className.lastIndexOf('.');
    if (loc != -1) {
        _initialValues.packageName = _className.substring(0, loc);
        _initialValues.className = _className.substring(loc + 1);
        _fPackageNameStatus = JavaConventions.validateJavaTypeName(_initialValues.packageName,
                SOURCE_COMPLIANCE_1_3, SOURCE_COMPLIANCE_1_3);
        _fClassNameStatus = JavaConventions.validateJavaTypeName(_initialValues.className,
                SOURCE_COMPLIANCE_1_3, SOURCE_COMPLIANCE_1_3);
    }
    if (_javaProject == null) {
        return;
    }
    try {
        if (_initialValues.packageFragmentRoot == null) {
            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];
                    break;
                }
            }
            if (srcEntryDft != null) {
                _initialValues.packageFragmentRoot = srcEntryDft;
            } else {
                _initialValues.packageFragmentRoot = _javaProject
                        .getPackageFragmentRoot(_javaProject.getResource());
            }
            if (_initialValues.packageFragment == null && _initialValues.packageFragmentRoot != null
                    && _initialValues.packageName != null && _initialValues.packageName.length() > 0) {
                IFolder packageFolder = _project.getFolder(_initialValues.packageName);
                _initialValues.packageFragment = _initialValues.packageFragmentRoot
                        .getPackageFragment(packageFolder.getProjectRelativePath().toOSString());
            }
        }
        // superclass and interface
        if (_initialValues.superClassName == null) {
            _initialValues.superClassName = "java.lang.Object"; //$NON-NLS-1$
        }
        //         _initialValues.superClassType = findTypeForName(_initialValues.superClassName);
    } catch (JavaModelException e) {
        e.printStackTrace();// PDEPlugin.logException(e);
    }
}

From source file:org.eclipse.jst.jsf.common.ui.internal.dialogfield.SourceFolderButtonDialogField.java

License:Open Source License

/**
 * choose source container dialog//from  ww w  .j  av  a  2 s.co m
 * 
 * @param initElement
 * @return
 */
private IPackageFragmentRoot chooseSourceContainer(IJavaElement initElement) {
    Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class, IJavaProject.class, };

    TypedElementSelectionValidator validator = new TypedElementSelectionValidator(acceptedClasses, false) {
        // TODO: never used
        //         public boolean isSelectedValid(Object element) {
        //            try {
        //               if (element instanceof IJavaProject) {
        //                  IJavaProject jproject = (IJavaProject) element;
        //                  IPath path = jproject.getProject().getFullPath();
        //                  return (jproject.findPackageFragmentRoot(path) != null);
        //               } else if (element instanceof IPackageFragmentRoot) {
        //                  return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE);
        //               }
        //               return true;
        //            } catch (JavaModelException e) {
        //               _log.error("JavaModelException"); // just log, no ui in
        //               // validation
        //            }
        //            return false;
        //         }
    };

    acceptedClasses = new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class, };
    ViewerFilter filter = new TypedViewerFilter(acceptedClasses) {
        public boolean select(Viewer viewer, Object parent, Object element) {
            if (element instanceof IPackageFragmentRoot) {
                try {
                    return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE);
                } catch (JavaModelException e) {
                    _log.error(e); // just log, no ui
                    // in validation
                    return false;
                }
            }
            return super.select(viewer, parent, element);
        }
    };

    StandardJavaElementContentProvider provider = new StandardJavaElementContentProvider();
    ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
    dialog.setValidator(validator);
    dialog.setComparator(new JavaElementComparator());
    // HibernateWizardPage.ChooseSourceContainerDialog.Title = Folder
    // Selection
    dialog.setTitle(DialogFieldResources.getInstance()
            .getString("SourceFolderButtonDialogField.ChooseSourceContainerDialog.Title")); //$NON-NLS-1$
    // HibernateWizardPage.ChooseSourceContainerDialog.Description = Choose
    // a folder:
    dialog.setMessage(DialogFieldResources.getInstance()
            .getString("SourceFolderButtonDialogField.ChooseSourceContainerDialog.Description")); //$NON-NLS-1$
    dialog.addFilter(filter);
    if (_project != null) {
        dialog.setInput(JavaCore.create(_project));
    } else {
        dialog.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));
    }
    dialog.setInitialSelection(initElement);

    if (dialog.open() == Window.OK) {
        Object element = dialog.getFirstResult();
        if (element instanceof IJavaProject) {
            IJavaProject jproject = (IJavaProject) element;
            return jproject.getPackageFragmentRoot(jproject.getProject());
        } else if (element instanceof IPackageFragmentRoot) {
            return (IPackageFragmentRoot) element;
        }
        return null;
    }
    return null;
}

From source file:org.eclipse.libra.facet.OSGiBundleFacetInstallDelegate.java

License:Open Source License

private IPackageExportDescription[] getPackageExports(IProject project) throws CoreException {
    IBundleProjectService bundleProjectService = LibraFacetPlugin.getDefault().getBundleProjectService();
    List<IPackageExportDescription> list = new ArrayList<IPackageExportDescription>();

    if (isJavaProject(project)) {
        IJavaProject javaProject = JavaCore.create(project);
        IPackageFragmentRoot[] fragmentRoots = javaProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot fragmentRoot : fragmentRoots) {
            if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE
                    && fragmentRoot.getParent().equals(javaProject)) {
                IJavaElement[] elements = fragmentRoot.getChildren();
                for (IJavaElement element : elements) {
                    IPackageFragment fragment = (IPackageFragment) element;
                    if (fragment.containsJavaResources()) {
                        list.add(bundleProjectService.newPackageExport(fragment.getElementName(), null, true,
                                null));// w  ww . j a v a 2  s  . co  m
                    }
                }
            }
        }
    }

    return list.toArray(new IPackageExportDescription[list.size()]);
}

From source file:org.eclipse.libra.facet.OSGiBundleFacetInstallDelegate.java

License:Open Source License

private IPath[] getJavaSourceFolderPaths(IJavaProject javaProject) throws JavaModelException {
    List<IPath> paths = new ArrayList<IPath>();

    IPackageFragmentRoot[] fragmentRoots = javaProject.getAllPackageFragmentRoots();
    for (IPackageFragmentRoot fragmentRoot : fragmentRoots) {
        if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE
                && fragmentRoot.getParent().equals(javaProject)) {
            paths.add(fragmentRoot.getPath());
        }//from   ww  w  . j  a  va  2 s  .  c o  m
    }

    return paths.toArray(new IPath[paths.size()]);
}

From source file:org.eclipse.pde.api.tools.builder.tests.compatibility.ProjectTypeContainerTests.java

License:Open Source License

protected IPackageFragment[] getAllPackages() throws CoreException {
    IJavaProject project = JavaCore.create(getEnv().getProject("bundle.a")); //$NON-NLS-1$
    IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
    List<IPackageFragment> pkgs = new ArrayList<IPackageFragment>();
    for (int i = 0; i < roots.length; i++) {
        IPackageFragmentRoot root = roots[i];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            IJavaElement[] children = root.getChildren();
            for (int j = 0; j < children.length; j++) {
                IPackageFragment frag = (IPackageFragment) children[j];
                pkgs.add(frag);//from  ww w . ja  v  a 2  s .  c  om
                collectAllPackages(frag, pkgs);
            }
        }
    }
    return pkgs.toArray(new IPackageFragment[pkgs.size()]);
}

From source file:org.eclipse.pde.api.tools.internal.builder.BaseApiAnalyzer.java

License:Open Source License

/**
 * Checks the validation of tags for the given {@link IApiComponent}
 * //from   w  w w .j a v  a2  s . c o m
 * @param context
 * @param component
 * @param monitor
 */
private void checkTagValidation(final IBuildContext context, final IApiComponent component,
        IProgressMonitor monitor) {
    boolean tags = ignoreInvalidTagCheck();
    boolean annotations = ignoreInvalidAnnotationCheck();
    if (tags && annotations) {
        return;
    }
    SubMonitor localMonitor = null;
    try {

        localMonitor = SubMonitor.convert(monitor, BuilderMessages.BaseApiAnalyzer_validating_javadoc_tags,
                1 + component.getApiTypeContainers().length);
        if (context.hasTypes()) {
            String[] typenames = context.getStructurallyChangedTypes();
            for (int i = 0; i < typenames.length; i++) {
                if (typenames[i] == null) {
                    continue;
                }
                localMonitor.subTask(NLS.bind(BuilderMessages.BaseApiAnalyzer_scanning_0, typenames[i]));
                processType(typenames[i], !tags, !annotations);
                Util.updateMonitor(localMonitor);
            }
        } else {
            try {
                IPackageFragmentRoot[] roots = fJavaProject.getPackageFragmentRoots();
                for (int i = 0; i < roots.length; i++) {
                    if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                        localMonitor.subTask(NLS.bind(BuilderMessages.BaseApiAnalyzer_scanning_0,
                                roots[i].getPath().toOSString()));
                        scanSource(roots[i], !tags, !annotations, localMonitor.newChild(1));
                        Util.updateMonitor(localMonitor);
                    }
                }
            } catch (JavaModelException jme) {
                ApiPlugin.log(jme);
            }
        }
        Util.updateMonitor(localMonitor);
    } catch (CoreException e) {
        ApiPlugin.log(e);
    } finally {
        if (localMonitor != null) {
            localMonitor.done();
        }
    }
}

From source file:org.eclipse.pde.api.tools.internal.model.ProjectComponent.java

License:Open Source License

/**
 * Returns the cached API type container for the given package fragment
 * root, or <code>null</code> if none. The given package fragment has to be
 * a SOURCE package fragment - this method is only used by the project API
 * description to obtain a class file corresponding to a compilation unit
 * when tag scanning (to resolve signatures).
 * //w w w  .jav  a  2s .co m
 * @param root source package fragment root
 * @return API type container associated with the package fragment root, or
 *         <code>null</code> if none
 */
public IApiTypeContainer getTypeContainer(IPackageFragmentRoot root) throws CoreException {
    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
        getApiTypeContainers(); // ensure initialized
        IResource resource = root.getResource();
        if (resource != null) {
            String location = resource.getProjectRelativePath().toString();
            return getApiTypeContainer(location, this);
        }
    }
    return null;
}

From source file:org.eclipse.pde.api.tools.internal.ProjectApiDescription.java

License:Open Source License

@Override
protected ManifestNode createNode(ManifestNode parentNode, IElementDescriptor element) {
    switch (element.getElementType()) {
    case IElementDescriptor.PACKAGE:
        try {/*  w  ww . j  a v  a  2s  .com*/
            IPackageDescriptor pkg = (IPackageDescriptor) element;
            IPackageFragmentRoot[] roots = getJavaProject().getPackageFragmentRoots();
            List<IPackageFragment> fragments = new ArrayList<IPackageFragment>(1);
            for (int i = 0; i < roots.length; i++) {
                IPackageFragmentRoot root = roots[i];
                IClasspathEntry entry = root.getRawClasspathEntry();
                switch (entry.getEntryKind()) {
                case IClasspathEntry.CPE_SOURCE:
                case IClasspathEntry.CPE_LIBRARY:
                    IPackageFragment fragment = root.getPackageFragment(pkg.getName());
                    if (fragment.exists()) {
                        fragments.add(fragment);
                    }
                    break;
                default:
                    if (!root.isArchive() && root.getKind() == IPackageFragmentRoot.K_BINARY) {
                        // class file folder
                        fragment = root.getPackageFragment(pkg.getName());
                        if (fragment.exists()) {
                            fragments.add(fragment);
                        }
                    }
                }
            }
            if (fragments.isEmpty()) {
                return null;
            } else {
                return newPackageNode(fragments.toArray(new IPackageFragment[fragments.size()]), parentNode,
                        element, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
            }

        } catch (CoreException e) {
            return null;
        }
    case IElementDescriptor.TYPE:
        IReferenceTypeDescriptor descriptor = (IReferenceTypeDescriptor) element;
        try {
            IType type = null;
            String name = descriptor.getName();
            if (parentNode instanceof PackageNode) {
                IPackageFragment[] fragments = ((PackageNode) parentNode).fFragments;
                for (int i = 0; i < fragments.length; i++) {
                    IPackageFragment fragment = fragments[i];
                    if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        ICompilationUnit unit = fragment.getCompilationUnit(name + ".java"); //$NON-NLS-1$
                        try {
                            IResource resource = unit.getUnderlyingResource();
                            if (resource != null) {
                                type = unit.getType(name);
                            }
                        } catch (JavaModelException jme) {
                            // exception if the resource does not exist
                            if (!jme.getJavaModelStatus().isDoesNotExist()) {
                                throw jme;
                            }
                        }
                    } else {
                        IClassFile file = fragment.getClassFile(name + ".class"); //$NON-NLS-1$
                        if (file.exists()) {
                            type = file.getType();
                        }
                    }
                }
            } else if (parentNode instanceof TypeNode) {
                type = ((TypeNode) parentNode).fType.getType(name);
            }
            if (type != null) {
                return newTypeNode(type, parentNode, element, VISIBILITY_INHERITED,
                        RestrictionModifiers.NO_RESTRICTIONS);
            }
        } catch (CoreException e) {
            return null;
        }
        return null;
    default:
        break;
    }
    return super.createNode(parentNode, element);
}

From source file:org.eclipse.pde.internal.core.util.PDEJavaHelper.java

License:Open Source License

private static IPackageFragmentRoot[] getRoots(IJavaProject jProject) {
    ArrayList<IPackageFragmentRoot> result = new ArrayList<IPackageFragmentRoot>();
    try {//from  w ww .  j ava 2  s  .  c om
        IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
                    || jProject.getProject().equals(roots[i].getCorrespondingResource())
                    || (roots[i].isArchive() && !roots[i].isExternal())) {
                result.add(roots[i]);
            }
        }
    } catch (JavaModelException e) {
    }
    return result.toArray(new IPackageFragmentRoot[result.size()]);
}

From source file:org.eclipse.pde.internal.launching.launcher.LaunchArgumentsHelper.java

License:Open Source License

private static String getStartupJarPath() throws CoreException {
    IPluginModelBase model = PluginRegistry.findModel("org.eclipse.platform"); //$NON-NLS-1$
    if (model != null && model.getUnderlyingResource() != null) {
        IProject project = model.getUnderlyingResource().getProject();
        if (project.hasNature(JavaCore.NATURE_ID)) {
            IJavaProject jProject = JavaCore.create(project);
            IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
                        && roots[i].getPackageFragment("org.eclipse.core.launcher").exists()) { //$NON-NLS-1$
                    IPath path = jProject.getOutputLocation().removeFirstSegments(1);
                    return project.getLocation().append(path).toOSString();
                }/*from  w w  w.  j av  a 2  s.c  om*/
            }
        }
        if (project.getFile("startup.jar").exists()) //$NON-NLS-1$
            return project.getFile("startup.jar").getLocation().toOSString(); //$NON-NLS-1$
    }
    File startupJar = new Path(TargetPlatform.getLocation()).append("startup.jar").toFile(); //$NON-NLS-1$

    // if something goes wrong with the preferences, fall back on the startup.jar 
    // in the running eclipse.  
    if (!startupJar.exists())
        startupJar = new Path(TargetPlatform.getDefaultLocation()).append("startup.jar").toFile(); //$NON-NLS-1$

    return startupJar.exists() ? startupJar.getAbsolutePath() : null;
}