List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT
int PACKAGE_FRAGMENT_ROOT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.
Click Source Link
From source file:nz.ac.massey.cs.jquest.views.ElementChangedListener.java
License:Open Source License
private void processDelta(IJavaElementDelta delta) { IJavaElement javaElement = delta.getElement(); switch (javaElement.getElementType()) { case IJavaElement.JAVA_MODEL: case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.PACKAGE_FRAGMENT: IJavaElementDelta[] affectedChildren = delta.getAffectedChildren(); for (IJavaElementDelta affectedChild : affectedChildren) { processDelta(affectedChild); }//from w ww . j a v a 2 s . co m break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) javaElement; if (selectedProject == null) return; if (!cu.getJavaProject().getProject().getName().equals(selectedProject.getName())) { return; } if (delta.getKind() == IJavaElementDelta.ADDED) { projectHasChanged = true; singleView.projectUpdated(); } else if (delta.getKind() == IJavaElementDelta.REMOVED) { projectHasChanged = true; singleView.projectUpdated(); } else if (delta.getKind() == IJavaElementDelta.CHANGED) { projectHasChanged = true; singleView.projectUpdated(); // if((delta.getFlags() & IJavaElementDelta.F_FINE_GRAINED) != 0) { // } } } }
From source file:org.apache.felix.sigil.eclipse.model.util.JavaHelper.java
License:Apache License
private static void findIndirectReferences(Set<String> indirect, String pckg, IParent parent, IJavaProject p) throws JavaModelException { for (IJavaElement e : parent.getChildren()) { boolean skip = false; switch (e.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot rt = (IPackageFragmentRoot) e; IClasspathEntry ce = rt.getRawClasspathEntry(); IPath path = ce.getPath();//w w w .j ava 2 s . co m skip = "org.eclipse.jdt.launching.JRE_CONTAINER".equals(path.toString()); break; case IJavaElement.CLASS_FILE: IClassFile cf = (IClassFile) e; if (cf.getElementName().startsWith(pckg)) { findIndirectReferences(indirect, findPackage(cf.getType().getSuperclassName()), p, p); } break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) e; break; } if (!skip && e instanceof IParent) { IParent newParent = (IParent) e; findIndirectReferences(indirect, pckg, newParent, p); } } }
From source file:org.apache.felix.sigil.eclipse.model.util.JavaHelper.java
License:Apache License
private static void findJavaModelImports(ISigilProjectModel project, Set<String> imports, IProgressMonitor monitor) {/*from w ww. java 2 s.c om*/ try { for (IPackageFragment root : project.getJavaModel().getPackageFragments()) { if (monitor.isCanceled()) { return; } IPackageFragmentRoot rt = (IPackageFragmentRoot) root .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (isInClassPath(project, rt)) { for (ICompilationUnit cu : root.getCompilationUnits()) { scanImports(cu, imports); } for (IClassFile cf : root.getClassFiles()) { scanImports(cf, imports); } } } } catch (JavaModelException e) { SigilCore.error("Failed to parse java model", e); } }
From source file:org.apache.felix.sigil.eclipse.model.util.JavaHelper.java
License:Apache License
public static Set<String> findLocalPackageUsers(ISigilProjectModel project, String packageName, IProgressMonitor monitor) throws JavaModelException { Set<String> imports = new HashSet<String>(); Set<String> check = new HashSet<String>(); for (IPackageFragment root : project.getJavaModel().getPackageFragments()) { IPackageFragmentRoot rt = (IPackageFragmentRoot) root.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (isInClassPath(project, rt)) { for (ICompilationUnit cu : root.getCompilationUnits()) { IPackageFragment pack = (IPackageFragment) cu.getAncestor(IJavaModel.PACKAGE_FRAGMENT); if (!pack.getElementName().equals(packageName)) { scanImports(cu, check); if (check.contains(packageName)) { imports.add(pack.getElementName()); }/*w w w. j a va 2s . c o m*/ } check.clear(); } for (IClassFile cf : root.getClassFiles()) { IPackageFragment pack = (IPackageFragment) cf.getAncestor(IJavaModel.PACKAGE_FRAGMENT); if (!pack.getElementName().equals(packageName)) { scanImports(cf, check); if (check.contains(packageName)) { imports.add(pack.getElementName()); } } check.clear(); } } } return imports; }
From source file:org.apache.felix.sigil.ui.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_ROOT)) { IPackageFragmentRoot root = (IPackageFragmentRoot) 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 w w w . jav a2 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.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; }// ww w. j a v 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_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 IPackageFragmentRoot getSelectedPackageFragmentRoot() { 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_ROOT) return (IPackageFragmentRoot) element; }//from w w w . j av a 2 s.c om return null; }
From source file:org.codehaus.groovy.eclipse.codeassist.ProposalUtils.java
License:Apache License
/** * Can be null if access restriction cannot be resolved for given type * * @param type// w ww . j ava 2s . c o m * @param project * @return */ public static AccessRestriction getTypeAccessibility(IType type) { PackageFragmentRoot root = (PackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); try { IClasspathEntry entry = root.getResolvedClasspathEntry(); // Alternative: // entry = ((JavaProject) typeProject).getClasspathEntryFor(root // .getPath()); if (entry instanceof ClasspathEntry) { AccessRuleSet accessRuleSet = ((ClasspathEntry) entry).getAccessRuleSet(); if (accessRuleSet != null) { char[] packageName = type.getPackageFragment().getElementName().toCharArray(); char[][] packageChars = CharOperation.splitOn('.', packageName); char[] fileWithoutExtension = type.getElementName().toCharArray(); return accessRuleSet.getViolatedRestriction( CharOperation.concatWith(packageChars, fileWithoutExtension, '/')); } } } catch (JavaModelException e) { // nothing } return null; }
From source file:org.cubictest.exporters.selenium.ui.CustomStepWizard.java
License:Open Source License
@Override public void addPages() { classWizard = new NewClassWizardPage(); IJavaProject javaProject = JavaCore.create(project); IResource pageFragmentRoot = null;/* w w w .j a v a2 s . c o m*/ try { for (IJavaElement element : javaProject.getChildren()) if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) { pageFragmentRoot = element.getResource(); break; } } catch (JavaModelException e) { Logger.error(e.getMessage(), e); } if (pageFragmentRoot != null) classWizard.setPackageFragmentRoot(javaProject.getPackageFragmentRoot(pageFragmentRoot), true); classWizard.addSuperInterface("org.cubictest.selenium.custom.ICustomTestStep"); classWizard.setMethodStubSelection(false, false, true, true); addPage(classWizard); }
From source file:org.dawnsci.common.widgets.breadcrumb.BreadcrumbItemDropDown.java
License:Open Source License
/** * Opens the drop down menu./*from w ww. j av a 2 s. 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(); }