List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE
int K_SOURCE
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.
Click Source Link
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; }