List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind
int getKind() throws JavaModelException;
From source file:org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver.java
License:Open Source License
private void unregisterDeltedEntity(IResourceChangeEvent event) { if ((event.getType() == IResourceChangeEvent.PRE_CLOSE) || (event.getType() == IResourceChangeEvent.PRE_DELETE)) return;/*w ww . ja va 2s . c o m*/ IResourceDelta changedDelta = event.getDelta(); IResourceDelta[] deltas = changedDelta.getAffectedChildren(); for (IResourceDelta delta : deltas) { final IResource resource = delta.getResource(); if (resource != null && resource.exists()) { if (resource instanceof IProject) { IProject project = (IProject) resource; for (IResourceDelta deltaResource : delta.getAffectedChildren()) { List<IResourceDelta> resources = new ArrayList<IResourceDelta>(); resources = findDeletedResource(deltaResource, resources); for (IResourceDelta resourceDelta : resources) { if (resourceDelta.getResource() instanceof File) { IFile file = this.eclipseFacade.getWorkspace().getRoot() .getFile(((File) resourceDelta.getResource()).getFullPath()); if (!file.exists() && file.getFileExtension().equals("java")) { //$NON-NLS-1$ try { JpaProject jpaProject = JpaArtifactFactory.instance() .getJpaProject((IProject) resource); if (jpaProject != null) { IJavaProject javaProject = JavaCore.create(project); IPackageFragmentRoot[] fragmentRoots = javaProject .getAllPackageFragmentRoots(); for (IPackageFragmentRoot fragmentRoot : fragmentRoots) { if ((fragmentRoot instanceof PackageFragmentRoot) && fragmentRoot.getKind() == PackageFragmentRoot.K_SOURCE) { PackageFragmentRoot packageFragmentRoot = (PackageFragmentRoot) fragmentRoot; String sourcefolder = packageFragmentRoot.getResource() .getName(); String[] fq = file.getFullPath().toString().split(sourcefolder); String fqName = fq[1].replace("/", "."); //$NON-NLS-1$ //$NON-NLS-2$ fqName = fqName.replaceFirst(".", "").replace(".java", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //JPAEditorUtil.createUnregisterEntityFromXMLJob(jpaProject, fqName); } } } } catch (CoreException e) { JPADiagramEditorPlugin.logError(e); } } } } } } } } }
From source file:org.eclipse.jst.j2ee.internal.common.operations.JavaModelUtil.java
License:Open Source License
private static void addAllCus(HashSet/*<ICompilationUnit>*/ collector, IJavaElement javaElement) throws JavaModelException { switch (javaElement.getElementType()) { case IJavaElement.JAVA_PROJECT: IJavaProject javaProject = (IJavaProject) javaElement; IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoots.length; i++) addAllCus(collector, packageFragmentRoots[i]); return;/*ww w.j av a2s .c o m*/ case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) javaElement; if (packageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE) return; IJavaElement[] packageFragments = packageFragmentRoot.getChildren(); for (int j = 0; j < packageFragments.length; j++) addAllCus(collector, packageFragments[j]); return; case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment packageFragment = (IPackageFragment) javaElement; collector.addAll(Arrays.asList(packageFragment.getCompilationUnits())); return; case IJavaElement.COMPILATION_UNIT: collector.add(javaElement); return; default: IJavaElement cu = javaElement.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) collector.add(cu); } }
From source file:org.eclipse.jst.j2ee.internal.dialogs.TypeJavaSearchScope.java
License:Open Source License
public void add(IJavaElement element) throws JavaModelException { IPackageFragmentRoot root = null; switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: // a workspace sope should be used break;//from w w w. j a va 2 s . c o m case IJavaElement.JAVA_PROJECT: this.add((IJavaProject) element, true, new HashSet(2)); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: root = (IPackageFragmentRoot) element; this.add(root.getPath(), true); break; case IJavaElement.PACKAGE_FRAGMENT: root = (IPackageFragmentRoot) element.getParent(); if (root.isArchive()) { this.add(root.getPath().append(new Path(element.getElementName().replace('.', '/'))), false); } else { IResource resource = element.getUnderlyingResource(); if (resource != null && resource.isAccessible()) { this.add(resource.getFullPath(), false); } } break; default: // remember sub-cu (or sub-class file) java elements if (element instanceof IMember) { if (this.elements == null) { this.elements = new ArrayList(); } this.elements.add(element); } this.add(this.fullPath(element), true); // find package fragment root including this java element IJavaElement parent = element.getParent(); while (parent != null && !(parent instanceof IPackageFragmentRoot)) { parent = parent.getParent(); } if (parent instanceof IPackageFragmentRoot) { root = (IPackageFragmentRoot) parent; } } if (root != null) { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { this.addEnclosingProjectOrJar(root.getPath()); } else { this.addEnclosingProjectOrJar(root.getJavaProject().getProject().getFullPath()); } } }
From source file:org.eclipse.jst.j2ee.internal.project.WTPJETEmitter.java
License:Open Source License
/** * @param progressMonitor/*from w ww. j av a 2s. c o m*/ * @param project * @param javaProject * @return * @throws JavaModelException */ protected IPackageFragmentRoot openJavaProjectIfNecessary(IProgressMonitor progressMonitor, final IProject project, IJavaProject javaProject) throws JavaModelException { progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETOpeningJavaProject_message", //$NON-NLS-1$ new Object[] { project.getName() })); javaProject.open(new SubProgressMonitor(progressMonitor, 1)); IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots(); IPackageFragmentRoot sourcePackageFragmentRoot = null; for (int j = 0; j < packageFragmentRoots.length; ++j) { IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[j]; if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { sourcePackageFragmentRoot = packageFragmentRoot; break; } } return sourcePackageFragmentRoot; }
From source file:org.eclipse.jst.j2ee.internal.web.operations.WebPropertiesUtil.java
License:Open Source License
public static String validateWebContentName(String webContentName, IProject project, String javaSourceName) { String msg = validateFolderName(webContentName); if (msg != null) return msg; if (javaSourceName != null && webContentName.equals(javaSourceName)) return ProjectSupportResourceHandler.Folder_names_cannot_be_equal_4; // If given a java project, check to make sure current package fragment // root folders do not overlap with new web content name if (project != null) { IJavaProject javaProject = JemProjectUtilities.getJavaProject(project); if (javaProject != null) { try { IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; if (!root.isArchive()) { IResource resource = root.getCorrespondingResource(); if (resource.getType() == IResource.FOLDER) { IPath path = resource.getFullPath(); String rootFolder = path.segment(1); if (webContentName.equals(rootFolder)) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_source_folder_5; return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_class_folder_6; }//from w ww.j a v a 2 s . co m } } } } catch (JavaModelException e) { return null; } } } return null; }
From source file:org.eclipse.jst.j2ee.refactor.listeners.J2EEElementChangedListener.java
License:Open Source License
private void getJavaSrcMappings(final IJavaElementDelta[] children, final boolean cpChanged, final IJavaProject jproject, final List pathsToAdd, final List pathsToRemove, final List changedPaths) throws CoreException { IVirtualComponent c = ComponentCore.createComponent(jproject.getProject()); if (c == null) return;/* w w w. j a va2 s . c om*/ // get the default destination folder final IVirtualFolder defaultDestFolder = getDestinationFolder(c); for (int i = 0; i < children.length; i++) { final IJavaElementDelta delta = children[i]; final IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) { final IPackageFragmentRoot root = (IPackageFragmentRoot) element; int cpeKind = IPackageFragmentRoot.K_SOURCE; boolean abortAdd = false; try { cpeKind = root.getKind(); } catch (JavaModelException jme) { // this is thrown if the folder corresponding to the CPE has been deleted // since it could represent another error, we need to abort adding. abortAdd = true; } // only update if we know it is a src folder if (cpeKind == IPackageFragmentRoot.K_SOURCE) { final int kind = delta.getKind(); if (!cpChanged) { // if the classpath is not changed, save modifications to the Java src path if (kind == IJavaElementDelta.CHANGED || kind == IJavaElementDelta.REMOVED) { changedPaths.add(root.getPath().removeFirstSegments(1)); } } else { // kind and flags for CP additions are somewhat sporadic; either: // -kind is ADDED and flags are 0 // or // -kind is CHANGED and flags are F_ADDED_TO_CLASSPATH final int flags = delta.getFlags(); if (kind == IJavaElementDelta.ADDED || (flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) == IJavaElementDelta.F_ADDED_TO_CLASSPATH) { if (!abortAdd) { final IPath pathToAdd = root.getPath().removeFirstSegments(1); pathsToAdd.add(new Object[] { pathToAdd, defaultDestFolder }); // if the added src path was moved from another location, remove any mapping for that // location if ((flags & IJavaElementDelta.F_MOVED_FROM) == IJavaElementDelta.F_MOVED_FROM) { final IJavaElement movedFromElement = delta.getMovedFromElement(); final IPath pathToRemove = movedFromElement.getPath().removeFirstSegments(1); pathsToRemove.add(new Object[] { pathToRemove, defaultDestFolder }); } } // getting a kind = REMOVED and flags = 0 for removal of the folder (w/o removing the CPE), probably // should not be generated } else if (kind == IJavaElementDelta.REMOVED || (flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) { IPath path = root.getPath().removeFirstSegments(1); pathsToRemove.add(new Object[] { path, defaultDestFolder }); } } } } } }
From source file:org.eclipse.jst.jee.model.internal.common.AbstractAnnotationModelProvider.java
License:Open Source License
protected void visitJavaFiles(final Collection<ICompilationUnit> javaFiles, final IPackageFragmentRoot root) throws CoreException { if (root.getKind() != IPackageFragmentRoot.K_SOURCE) return;/*w w w . java 2s.c o m*/ root.getCorrespondingResource().accept(new IResourceProxyVisitor() { public boolean visit(IResourceProxy proxy) throws CoreException { if (proxy.getType() == IResource.FILE) { if (proxy.getName().endsWith("." + JAVA_EXTENSION)) { //$NON-NLS-1$ IFile file = (IFile) proxy.requestResource(); if (!root.getJavaProject().isOnClasspath(file)) return false; if (!file.isSynchronized(IResource.DEPTH_ONE)) return false; javaFiles.add(JavaCore.createCompilationUnitFrom(file)); } return false; } return true; } }, IContainer.NONE); }
From source file:org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject.java
License:Open Source License
public List getNonExternalSourceFolders() { List nonExternalSourceFolders = null; IPackageFragmentRoot[] sourceFolders; try {//from w ww. j ava 2 s . c om IJavaProject jProject = JavaCore.create(project); sourceFolders = jProject.getPackageFragmentRoots(); nonExternalSourceFolders = new ArrayList(Arrays.asList(sourceFolders)); for (Iterator iter = nonExternalSourceFolders.iterator(); iter.hasNext();) { IPackageFragmentRoot root = (IPackageFragmentRoot) iter.next(); if (root.isExternal() || root.isArchive() || root.getKind() == IPackageFragmentRoot.K_BINARY) iter.remove(); } } catch (JavaModelException e) { ServletUIPlugin.log(e); } return nonExternalSourceFolders != null ? nonExternalSourceFolders : Collections.EMPTY_LIST; }
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));//from w w w .ja va 2 s.c o 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()); }/*www .j ava2 s . c om*/ } return paths.toArray(new IPath[paths.size()]); }