List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT
int PACKAGE_FRAGMENT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT.
Click Source Link
From source file:org.apache.felix.sigil.eclipse.internal.repository.eclipse.WorkspaceRepository.java
License:Apache License
private Collection<String> findPackages(ISigilProjectModel project) { final IContentTypeManager contentTypeManager = Platform.getContentTypeManager(); final IContentType javaContentType = contentTypeManager.getContentType("org.eclipse.jdt.core.javaSource"); final HashSet<String> packages = new HashSet<String>(); try {/* w ww . ja v a2s .c o m*/ project.getProject().accept(new IResourceVisitor() { public boolean visit(IResource resource) throws CoreException { if (resource instanceof IFile) { IFile f = (IFile) resource; IContentType ct = contentTypeManager.findContentTypeFor(f.getName()); if (ct != null && ct.isKindOf(javaContentType)) { ICompilationUnit cu = (ICompilationUnit) JavaCore.create(f); IPackageFragment pf = (IPackageFragment) cu.getAncestor(IJavaElement.PACKAGE_FRAGMENT); packages.add(pf.getElementName()); } } return true; } }); } catch (CoreException e) { SigilCore.error("Failed to read packages for " + project.getProject().getName()); } return packages; }
From source file:org.apache.felix.sigil.eclipse.ui.util.ResourcesDialogHelper.java
License:Apache License
public static BackgroundLoadingSelectionDialog<String> createClassSelectDialog(Shell shell, String title, final ISigilProjectModel project, String selected, final String ifaceOrParentClass) { final BackgroundLoadingSelectionDialog<String> dialog = new BackgroundLoadingSelectionDialog<String>(shell, "Class Name", true); IJobRunnable job = new IJobRunnable() { public IStatus run(IProgressMonitor monitor) { try { for (IJavaElement e : JavaHelper.findTypes(project.getJavaModel(), IJavaElement.PACKAGE_FRAGMENT)) { IPackageFragment root = (IPackageFragment) e; if (project.isInBundleClasspath(root)) { for (IJavaElement e1 : JavaHelper.findTypes(root, IJavaElement.COMPILATION_UNIT, IJavaElement.CLASS_FILE)) { ITypeRoot typeRoot = (ITypeRoot) e1; IType type = (IType) JavaHelper.findType(typeRoot, IJavaElement.TYPE); if (JavaHelper.isAssignableTo(ifaceOrParentClass, type)) { dialog.addElement(type.getFullyQualifiedName()); }//from www. j a va 2 s. c o m } } } return Status.OK_STATUS; } catch (JavaModelException e) { return e.getStatus(); } } }; dialog.addBackgroundJob("Scanning for activators in project", job); return dialog; }
From source file:org.apache.felix.sigil.eclipse.ui.util.ResourcesDialogHelper.java
License:Apache License
public static NewPackageExportDialog createNewExportDialog(Shell shell, String title, final IPackageExport selected, final ISigilProjectModel project, boolean multiSelect) { IFilter<IJavaElement> selectFilter = new IFilter<IJavaElement>() { public boolean select(IJavaElement e) { if (selected != null && e.getElementName().equals(selected.getPackageName())) { return true; }/*from w ww . j av a 2 s . c om*/ if (e.getElementName().trim().length() > 0 && isLocal(e)) { for (IPackageExport p : project.getBundle().getBundleInfo().getExports()) { if (p.getPackageName().equals(e.getElementName())) { return false; } } return true; } else { return false; } } private boolean isLocal(IJavaElement java) { try { switch (java.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment fragment = (IPackageFragment) java; return fragment.containsJavaResources(); default: throw new IllegalStateException("Unexpected resource type " + java); } } catch (JavaModelException e) { SigilCore.error("Failed to inspect java element ", e); return false; } } }; final NewPackageExportDialog dialog = new NewPackageExportDialog(shell, multiSelect); dialog.setFilter(selectFilter); dialog.setProjectVersion(project.getVersion()); if (selected != null) { dialog.setSelectedName(selected.getPackageName()); dialog.setVersion(selected.getRawVersion()); } IJobRunnable job = new IJobRunnable() { public IStatus run(IProgressMonitor monitor) { try { ArrayList<IPackageFragment> list = new ArrayList<IPackageFragment>(UPDATE_BATCH_SIZE); for (IJavaElement e : JavaHelper.findTypes(project.getJavaModel(), IJavaElement.PACKAGE_FRAGMENT)) { IPackageFragment root = (IPackageFragment) e; if (project.isInBundleClasspath(root)) { list.add(root); if (list.size() >= UPDATE_BATCH_SIZE) { dialog.addElements(list); list.clear(); } } } if (!list.isEmpty()) { dialog.addElements(list); } return Status.OK_STATUS; } catch (JavaModelException e) { return e.getStatus(); } } }; dialog.addBackgroundJob("Scanning for packages in project", job); return dialog; }
From source file:org.apache.felix.sigil.search.index.Index.java
License:Apache License
public void addEntry(ICompilationUnit unit, IBundleRepository rep, ISigilBundle bundle, boolean exported) { String name = unit.getElementName(); if (name.endsWith(".java")) { name = name.substring(0, name.length() - 5); }// www. j av a 2 s . c o m IPackageFragment p = (IPackageFragment) unit.getAncestor(IJavaElement.PACKAGE_FRAGMENT); addEntry(p.getElementName() + "." + name, rep, bundle, p.getElementName(), exported); }
From source file:org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper.java
License:Apache License
public static NewPackageExportDialog createNewExportDialog(Shell shell, String title, final IPackageExport selected, final ISigilProjectModel project, boolean multiSelect) { IFilter<IJavaElement> selectFilter = new IFilter<IJavaElement>() { public boolean select(IJavaElement e) { if (selected != null && e.getElementName().equals(selected.getPackageName())) { return true; }/*from w ww. j ava2 s . co m*/ if (e.getElementName().trim().length() > 0 && isLocal(e)) { for (IPackageExport p : project.getBundle().getBundleInfo().getExports()) { if (p.getPackageName().equals(e.getElementName())) { return false; } } return true; } else { return false; } } private boolean isLocal(IJavaElement java) { try { switch (java.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment fragment = (IPackageFragment) java; return fragment.containsJavaResources(); default: throw new IllegalStateException("Unexpected resource type " + java); } } catch (JavaModelException e) { SigilCore.error("Failed to inspect java element ", e); return false; } } }; final NewPackageExportDialog dialog = new NewPackageExportDialog(shell, multiSelect); dialog.setFilter(selectFilter); dialog.setProjectVersion(project.getVersion()); if (selected != null) { dialog.setSelectedName(selected.getPackageName()); dialog.setVersion(selected.getRawVersion()); } IJobRunnable job = new IJobRunnable() { public IStatus run(IProgressMonitor monitor) { try { ArrayList<IPackageFragment> list = new ArrayList<IPackageFragment>(UPDATE_BATCH_SIZE); for (IJavaElement e : JavaHelper.findTypes(project.getJavaModel(), IJavaElement.PACKAGE_FRAGMENT_ROOT)) { IPackageFragmentRoot root = (IPackageFragmentRoot) e; if (project.isInBundleClasspath(root)) { for (IJavaElement e1 : JavaHelper.findTypes(root, IJavaElement.PACKAGE_FRAGMENT)) { list.add((IPackageFragment) e1); if (list.size() >= UPDATE_BATCH_SIZE) { dialog.addElements(list); list.clear(); } } } } if (!list.isEmpty()) { dialog.addElements(list); } return Status.OK_STATUS; } catch (JavaModelException e) { return e.getStatus(); } } }; dialog.addBackgroundJob("Scanning for packages in project", job); return dialog; }
From source file:org.apache.tapestrytools.ui.internal.wizards.NewTapestryComponentPage.java
License:Open Source License
private IPackageFragment getSelectedPackageFragment() { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) return null; ISelection selection = window.getSelectionService().getSelection(); if (selection == null) return null; IJavaElement element = getInitialJavaElement(selection); if (element != null) { if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { return (IPackageFragment) element; } else if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { IJavaElement parent = ((ICompilationUnit) element).getParent(); if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { return (IPackageFragment) parent; }/*from w w w . j av a 2 s . c o m*/ } else if (element.getElementType() == IJavaElement.TYPE) { return ((IType) element).getPackageFragment(); } } return null; }
From source file:org.codecover.eclipse.utils.EclipseMASTLinkage.java
License:Open Source License
/** * Find the corresponding CodeCover MAST HierarchyLevel to the given * Eclipse Java Element./*www .ja v a 2 s. co m*/ * * @param code * root of code (MAST) to search * @param element * search key * @return * the HierarchyLevel of <i>element</i>, null if not found */ public static HierarchyLevel findSource(HierarchyLevel code, IJavaElement element) { HierarchyLevel result = null; //null until element is found /* check input */ if (code == null) { throw new IllegalArgumentException("code is null"); //$NON-NLS-1$ } if (element == null) { throw new IllegalArgumentException("element is null"); //$NON-NLS-1$ } /* get corresponding ICompilationUnit */ ICompilationUnit compilationUnit; if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { compilationUnit = (ICompilationUnit) element; } else { compilationUnit = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT); } if (compilationUnit != null) { /* Extract fully qualified class name with its package */ String fileName = compilationUnit.getElementName(); String className = fileName.split("\\.")[0]; //$NON-NLS-1$ IPackageFragment pkgF = (IPackageFragment) compilationUnit.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (pkgF != null) { String path[]; if (pkgF.getElementName().equals("")) { //$NON-NLS-1$ path = new String[] { className }; } else { className = pkgF.getElementName() + "." + className; //$NON-NLS-1$ path = className.split("\\."); //$NON-NLS-1$ } /* find HierarchyLevel for the class by name */ HierarchyLevel current = code; boolean found = true; for (int i = 0; i < path.length && found; ++i) { found = false; /* find next HierarchyLevel in path */ for (HierarchyLevel l : current.getChildren()) { if (l.getName().equals(path[i])) { current = l; found = true; break; } } } if (found) { /* the whole path was successfully traversed */ result = current; } } } return result; }
From source file:org.codehaus.groovy.eclipse.core.model.GroovyProjectFacade.java
License:Apache License
public List<IType> findAllRunnableTypes() throws JavaModelException { final List<IType> results = newList(); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (!root.isReadOnly()) { IJavaElement[] children = root.getChildren(); for (IJavaElement child : children) { if (child.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { ICompilationUnit[] units = ((IPackageFragment) child).getCompilationUnits(); for (ICompilationUnit unit : units) { results.addAll(findAllRunnableTypes(unit)); }/*from w w w. j av a 2 s. c o m*/ } } } } return results; }
From source file:org.codehaus.groovy.eclipse.core.model.GroovyProjectFacade.java
License:Apache License
/** * @return/*from w w w. java 2 s . c om*/ * @throws JavaModelException */ public List<IType> findAllScripts() throws JavaModelException { final List<IType> results = newList(); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (!root.isReadOnly()) { IJavaElement[] children = root.getChildren(); for (IJavaElement child : children) { if (child.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { ICompilationUnit[] units = ((IPackageFragment) child).getCompilationUnits(); for (ICompilationUnit unit : units) { if (unit instanceof GroovyCompilationUnit) { for (IType type : unit.getTypes()) { if (isGroovyScript(type)) { results.add(type); } } } } } } } } return results; }
From source file:org.dawnsci.common.widgets.breadcrumb.BreadcrumbItemDropDown.java
License:Open Source License
/** * Opens the drop down menu.// w w w. ja v a 2s . co m */ public void showMenu() { if (DEBUG) System.out.println("BreadcrumbItemDropDown.showMenu()"); //$NON-NLS-1$ if (!fEnabled || fMenuIsShown) return; fMenuIsShown = true; fShell = new Shell(fToolBar.getShell(), SWT.RESIZE | SWT.TOOL | SWT.ON_TOP); if (DEBUG) System.out.println(" creating new shell"); //$NON-NLS-1$ GridLayout layout = new GridLayout(1, false); layout.marginHeight = 0; layout.marginWidth = 0; fShell.setLayout(layout); Composite composite = new Composite(fShell, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout gridLayout = new GridLayout(1, false); gridLayout.marginHeight = 0; gridLayout.marginWidth = 0; composite.setLayout(gridLayout); fDropDownViewer = new ProblemTreeViewer(composite, treeSwitches); fDropDownViewer.setUseHashlookup(true); final Tree tree = (Tree) fDropDownViewer.getControl(); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Object input = fParent.getData(); fParent.getViewer().configureDropDownViewer(fDropDownViewer, input); fDropDownViewer.setInput(input); setShellBounds(fShell); fShell.addControlListener(new ControlAdapter() { /* * @see org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse.swt.events.ControlEvent) */ @Override public void controlResized(ControlEvent e) { if (isResizingProgrammatically) return; Point size = fShell.getSize(); getDialogSettings().put(DIALOG_HEIGHT, size.y); } }); fDropDownViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { if (DEBUG) System.out.println("BreadcrumbItemDropDown.showMenu()$treeViewer>open"); //$NON-NLS-1$ ISelection selection = event.getSelection(); if (!(selection instanceof IStructuredSelection)) return; Object element = ((IStructuredSelection) selection).getFirstElement(); if (element == null) return; openElement(element); } }); tree.addMouseListener(new MouseListener() { public void mouseUp(MouseEvent e) { if (DEBUG) System.out.println("BreadcrumbItemDropDown.showMenu()$treeViewer>mouseUp"); //$NON-NLS-1$ if (e.button != 1) return; if ((OpenStrategy.getOpenMethod() & OpenStrategy.SINGLE_CLICK) != 0) return; Item item = tree.getItem(new Point(e.x, e.y)); if (item == null) return; openElement(item.getData()); } public void mouseDown(MouseEvent e) { } public void mouseDoubleClick(MouseEvent e) { } }); tree.addMouseMoveListener(new MouseMoveListener() { TreeItem fLastItem = null; public void mouseMove(MouseEvent e) { if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); if ((o != null && !o.equals(fLastItem)) || (fLastItem != null && o == null)) { boolean showHandPointer = false; if (o instanceof TreeItem) { Object itemData = ((TreeItem) o).getData(); if (itemData instanceof IJavaElement) { int elementType = ((IJavaElement) itemData).getElementType(); if (elementType != IJavaElement.JAVA_PROJECT && elementType != IJavaElement.PACKAGE_FRAGMENT && elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT) { showHandPointer = true; } } else if (itemData instanceof IFile) { showHandPointer = true; } else if (itemData instanceof IJarEntryResource) { showHandPointer = ((IJarEntryResource) itemData).isFile(); } } tree.setCursor(showHandPointer ? tree.getDisplay().getSystemCursor(SWT.CURSOR_HAND) : null); } if (o instanceof TreeItem) { Rectangle clientArea = tree.getClientArea(); TreeItem currentItem = (TreeItem) o; if (!o.equals(fLastItem)) { fLastItem = (TreeItem) o; tree.setSelection(new TreeItem[] { fLastItem }); } else if (e.y - clientArea.y < tree.getItemHeight() / 4) { // Scroll up if (currentItem.getParentItem() == null) { int index = tree.indexOf((TreeItem) o); if (index < 1) return; fLastItem = tree.getItem(index - 1); tree.setSelection(new TreeItem[] { fLastItem }); } else { Point p = tree.toDisplay(e.x, e.y); Item item = fDropDownViewer.scrollUp(p.x, p.y); if (item instanceof TreeItem) { fLastItem = (TreeItem) item; tree.setSelection(new TreeItem[] { fLastItem }); } } } else if (clientArea.y + clientArea.height - e.y < tree.getItemHeight() / 4) { // Scroll down if (currentItem.getParentItem() == null) { int index = tree.indexOf((TreeItem) o); if (index >= tree.getItemCount() - 1) return; fLastItem = tree.getItem(index + 1); tree.setSelection(new TreeItem[] { fLastItem }); } else { Point p = tree.toDisplay(e.x, e.y); Item item = fDropDownViewer.scrollDown(p.x, p.y); if (item instanceof TreeItem) { fLastItem = (TreeItem) item; tree.setSelection(new TreeItem[] { fLastItem }); } } } } else if (o == null) { fLastItem = null; } } } }); tree.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_UP) { TreeItem[] selection = tree.getSelection(); if (selection.length != 1) return; int selectionIndex = tree.indexOf(selection[0]); if (selectionIndex != 0) return; fShell.close(); } } public void keyReleased(KeyEvent e) { } }); fDropDownViewer.addTreeListener(new ITreeViewerListener() { public void treeCollapsed(TreeExpansionEvent event) { } public void treeExpanded(TreeExpansionEvent event) { tree.setRedraw(false); fShell.getDisplay().asyncExec(new Runnable() { public void run() { if (fShell.isDisposed()) return; try { resizeShell(fShell); } finally { tree.setRedraw(true); } } }); } }); int index = fParent.getViewer().getIndexOfItem(fParent); if (index < fParent.getViewer().getItemCount() - 1) { BreadcrumbItem childItem = fParent.getViewer().getItem(index + 1); Object child = childItem.getData(); fDropDownViewer.setSelection(new StructuredSelection(child), true); TreeItem[] selection = tree.getSelection(); if (selection.length > 0) { tree.setTopItem(selection[0]); } } fShell.setVisible(true); installCloser(fShell); tree.setFocus(); }