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.entirej.framework.plugin.framework.properties.EJPluginEntireJProperties.java
License:Apache License
private IFile loadFile(String name, String location, String fileSuffix) throws EJDevFrameworkException { if (location == null || location.trim().length() == 0) { return null; }//from w w w. ja va 2 s . c o m try { IJavaElement element = getJavaProject().findElement(new Path(location)); if (element == null) { return null; } if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment packageFragment = (IPackageFragment) element; Object[] obs = packageFragment.getNonJavaResources(); for (Object object : obs) { if (object instanceof IFile) { IFile file = (IFile) object; if (file.getFileExtension().equals(fileSuffix)) { String fileName = file.getName(); fileName = fileName.substring(0, fileName.indexOf("." + fileSuffix)); if (fileName.equals(name)) { return file; } } } } } return null; } catch (JavaModelException e) { throw new EJDevFrameworkException(e.getMessage()); } }
From source file:org.evolizer.changedistiller.job.ChangeDistiller.java
License:Apache License
private IStatus processElement(IJavaElement element, IProgressMonitor group, int tick) { Job changeDistillerJob = null;/*from w w w.j av a2 s . c o m*/ try { // ICompilationUnit if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { changeDistillerJob = new SourceDistiller("Process class " + element.getElementName()); SourceDistiller job = (SourceDistiller) changeDistillerJob; List<Revision> revisions = ChangeDistillerPlugin.getPersistencyProvider() .query("from Revision as r where r.file.path like '%/" + element.getElementName() + "' and r.number not like '1.%.%'" + " order by r.report.creationTime asc", Revision.class); job.setProject(element.getJavaProject().getProject()); job.setRevisionsToDistill(revisions); // IPackageFragment; but only process source fragments (exclude binary Jars) } else if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment fragment = (IPackageFragment) element; if ((fragment.getKind() == IPackageFragmentRoot.K_SOURCE) && fragment.containsJavaResources()) { changeDistillerJob = new PackageFragmentDistiller( "Process Package " + fragment.getElementName()); ((PackageFragmentDistiller) changeDistillerJob).setPackageFragment(fragment); } // IJavaProject } else if (element.getElementType() == IJavaElement.JAVA_PROJECT) { changeDistillerJob = new ProjectDistiller("Process project " + element.getElementName()); ((ProjectDistiller) changeDistillerJob).setJavaProject((IJavaProject) element); } } catch (JavaModelException e) { e.printStackTrace(); } if (changeDistillerJob != null) { changeDistillerJob.setProgressGroup(group, tick); changeDistillerJob.setPriority(Job.LONG); changeDistillerJob.schedule(); try { // wait until ChangeDistiller finished selected element changeDistillerJob.join(); } catch (InterruptedException e) { e.printStackTrace(); } return changeDistillerJob.getResult(); } return Status.OK_STATUS; }
From source file:org.evolizer.core.util.selectionhandling.JavaSelectionHelper.java
License:Apache License
/** * Returns the packages contained by the package root fragment. * /*from w ww. j a va 2 s. c o m*/ * @param root The package root fragment * @return The list of contained packages. * @throws EvolizerException */ public static List<IJavaElement> getPackages(IPackageFragmentRoot root) throws EvolizerException { List<IJavaElement> packages = new ArrayList<IJavaElement>(); try { for (IJavaElement fragment : root.getChildren()) { if (fragment.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { packages.add(fragment); } } } catch (JavaModelException jme) { throw new EvolizerException(jme); } return packages; }
From source file:org.evolizer.famix.importer.ProjectParser.java
License:Apache License
/** * Dispatcher method for handling selected Java elements. * // ww w . j a va2s .c om * @param monitor * Progress monitor. * @return status. */ public IStatus parse(IProgressMonitor monitor) { fParsedElements = new HashSet<IJavaElement>(); IStatus status = Status.OK_STATUS; SubMonitor progress = SubMonitor.convert(monitor, 100); progress.setTaskName("Parse selected items"); SubMonitor loopProgress = progress.newChild(100).setWorkRemaining(getSelection().size()); try { for (IJavaElement javaElement : getSelection()) { switch (javaElement.getElementType()) { case IJavaElement.JAVA_PROJECT: status = parseProject((IJavaProject) javaElement, loopProgress.newChild(1)); break; case IJavaElement.PACKAGE_FRAGMENT: status = parsePackageFragment((IPackageFragment) javaElement, loopProgress.newChild(1)); break; case IJavaElement.COMPILATION_UNIT: status = parseCompilationUnit((ICompilationUnit) javaElement, loopProgress.newChild(1)); break; default: sLogger.error("Parsing of this Java element is not supported."); break; } if (status.getSeverity() == IStatus.ERROR) { sLogger.error("Error in parsing " + javaElement + " - continuing with next selected element."); } else if (status.getSeverity() == IStatus.CANCEL) { sLogger.info("Parsing job canceled"); break; } } } finally { if (monitor != null) { monitor.done(); monitor.subTask(""); } } return status; }
From source file:org.evosuite.eclipse.popup.actions.ExtendSuiteEditorAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart activeEditor = HandlerUtil.getActiveEditor(event); ISelection selection = HandlerUtil.getActiveMenuSelection(event); String SUT = ""; IResource target = null;//from w w w .j a v a 2 s. com System.out.println("Current selection of type " + selection.getClass().getName() + ": " + selection); if (selection instanceof TreeSelection) { TreeSelection treeSelection = (TreeSelection) selection; IAdaptable firstElement = (IAdaptable) treeSelection.getFirstElement(); // Relies on an internal API, bad juju if (firstElement instanceof org.eclipse.jdt.internal.core.CompilationUnit) { try { org.eclipse.jdt.internal.core.CompilationUnit compilationUnit = (org.eclipse.jdt.internal.core.CompilationUnit) firstElement; String packageName = ""; if (compilationUnit.getPackageDeclarations().length > 0) { System.out.println( "Package: " + compilationUnit.getPackageDeclarations()[0].getElementName()); packageName = compilationUnit.getPackageDeclarations()[0].getElementName(); } String targetSuite = compilationUnit.getElementName().replace(".java", ""); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; target = compilationUnit.getResource(); } catch (JavaModelException e) { } } } else if (activeEditor instanceof JavaEditor) { ITypeRoot root = EditorUtility.getEditorInputJavaElement(activeEditor, false); ITextSelection sel = (ITextSelection) ((JavaEditor) activeEditor).getSelectionProvider().getSelection(); int offset = sel.getOffset(); IJavaElement element; try { element = root.getElementAt(offset); if (element.getElementType() == IJavaElement.METHOD) { IJavaElement pDeclaration = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); IPackageFragment pFragment = (IPackageFragment) pDeclaration; String packageName = ""; if (pFragment.getCompilationUnits()[0].getPackageDeclarations().length > 0) { System.out.println("Package: " + pFragment.getCompilationUnits()[0].getPackageDeclarations()[0].getElementName()); packageName = pFragment.getCompilationUnits()[0].getPackageDeclarations()[0] .getElementName(); } String targetSuite = element.getParent().getElementName(); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; } else if (element.getElementType() == IJavaElement.TYPE) { IType type = ((IType) element); System.out.println("Selected class: " + type.getFullyQualifiedName()); SUT = type.getFullyQualifiedName(); } IWorkspaceRoot wroot = ResourcesPlugin.getWorkspace().getRoot(); target = wroot.findMember(root.getPath()); } catch (JavaModelException e) { } } if (!SUT.isEmpty() && target != null) { IProject proj = target.getProject(); fixJUnitClassPath(JavaCore.create(proj)); generateTests(target); } return null; }
From source file:org.evosuite.eclipse.popup.actions.GenerateTestsEditorAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart activeEditor = HandlerUtil.getActiveEditor(event); // ISelection selection = HandlerUtil.getCurrentSelection(event); ISelection selection = HandlerUtil.getActiveMenuSelection(event); String SUT = ""; IResource target = null;//from www . j av a 2 s. c om System.out.println("Current selection of type " + selection.getClass().getName() + ": " + selection); if (selection instanceof TreeSelection) { TreeSelection treeSelection = (TreeSelection) selection; IAdaptable firstElement = (IAdaptable) treeSelection.getFirstElement(); // Relies on an internal API, bad juju if (firstElement instanceof org.eclipse.jdt.internal.core.CompilationUnit) { try { org.eclipse.jdt.internal.core.CompilationUnit compilationUnit = (org.eclipse.jdt.internal.core.CompilationUnit) firstElement; String packageName = ""; if (compilationUnit.getPackageDeclarations().length > 0) { System.out.println( "Package: " + compilationUnit.getPackageDeclarations()[0].getElementName()); packageName = compilationUnit.getPackageDeclarations()[0].getElementName(); } String targetSuite = compilationUnit.getElementName().replace(".java", ""); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; target = compilationUnit.getResource(); } catch (JavaModelException e) { } } } else if (activeEditor instanceof JavaEditor) { ITypeRoot root = EditorUtility.getEditorInputJavaElement(activeEditor, false); ITextSelection sel = (ITextSelection) ((JavaEditor) activeEditor).getSelectionProvider().getSelection(); int offset = sel.getOffset(); IJavaElement element; try { element = root.getElementAt(offset); if (element == null) { ISelection sel2 = HandlerUtil.getCurrentSelection(event); System.out.println( "Selected element of type " + sel2.getClass().getName() + ": " + sel2.toString()); } else if (element.getElementType() == IJavaElement.METHOD) { IJavaElement pDeclaration = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); IPackageFragment pFragment = (IPackageFragment) pDeclaration; String packageName = ""; if (pFragment.getCompilationUnits()[0].getPackageDeclarations().length > 0) { System.out.println("Package: " + pFragment.getCompilationUnits()[0].getPackageDeclarations()[0].getElementName()); packageName = pFragment.getCompilationUnits()[0].getPackageDeclarations()[0] .getElementName(); } String targetSuite = element.getParent().getElementName(); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; } else if (element.getElementType() == IJavaElement.TYPE) { IType type = ((IType) element); System.out.println("Selected class: " + type.getFullyQualifiedName()); SUT = type.getFullyQualifiedName(); } IWorkspaceRoot wroot = ResourcesPlugin.getWorkspace().getRoot(); target = wroot.findMember(EditorUtility.getEditorInputJavaElement(activeEditor, false).getPath()); } catch (JavaModelException e) { } } if (!SUT.isEmpty() && target != null) { IProject proj = target.getProject(); fixJUnitClassPath(JavaCore.create(proj)); generateTests(target); } return null; }
From source file:org.fusesource.ide.branding.wizards.NewCamelTestWizardPageOne.java
License:Open Source License
/** * Initialized the page with the current selection * /*from w w w .j a v a2s . co m*/ * @param selection * The selection */ public void init(IStructuredSelection selection) { IJavaElement elem = getInitialJavaElement(selection); IJavaProject jproject = elem.getJavaProject(); IPackageFragmentRoot testRoot = null; if (selection != null && !selection.isEmpty()) { Object selectedElement = selection.getFirstElement(); IFile ifile = null; if (selectedElement instanceof IFile) { ifile = (IFile) selectedElement; } else if (selectedElement instanceof IAdaptable) { IAdaptable adaptable = (IAdaptable) selectedElement; ifile = (IFile) adaptable.getAdapter(IFile.class); } if (ifile != null) { setXmlFileUnderTest(ifile); } // now we determine the container for the test classes if (jproject != null && jproject.exists()) { try { IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { if (roots[i].getPath().toFile().getPath() .contains(String.format("src%stest%sjava", File.separator, File.separator))) { testRoot = roots[i]; break; } else if (roots[i].getPath().toFile().getPath() .contains(String.format("src%stest%sscala", File.separator, File.separator))) { testRoot = roots[i]; // we will prefer the src/test/java folder, so we don't break here and search for it } } } } catch (Exception ex) { Activator.getLogger().error(ex); } } } if (elem != null) { initContainerPage(elem); // if we found a suitable test class container then we set it here if (testRoot != null) { // set the container correctly setPackageFragmentRoot(testRoot, true); } IJavaProject project = elem.getJavaProject(); resourceContainer = project.getProject(); // evaluate the enclosing type IPackageFragment pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (pack != null) { setPackageFragment(pack, true); } else { File testFolderFile = project.getProject().getParent().getRawLocation() .append(getPackageFragmentRoot().getPath().makeRelative()).toFile(); File f = getBasePackage(testFolderFile); if (f != null && testRoot != null) { IPath p = new Path(f.getPath()); p = p.makeRelativeTo(project.getProject().getParent().getRawLocation() .append(getPackageFragmentRoot().getPath().makeRelative())); String name = ""; StringTokenizer strTok = new StringTokenizer(p.toOSString(), File.separator); while (strTok.hasMoreTokens()) { String tok = strTok.nextToken(); if (name.trim().length() > 0) { name += "."; } name += tok; } try { IPackageFragment pf = testRoot.createPackageFragment(name, true, new NullProgressMonitor()); setPackageFragment(pf, true); } catch (Exception ex) { Activator.getLogger().error(ex); } } } if (fXmlFileUnderTest == null) { try { // if we have no file selected yet, lets see if there's a // single one available List<IFile> files = ResourceModelUtils.filter(resourceContainer, new org.fusesource.ide.foundation.core.util.Filter<IFile>() { @Override public boolean matches(IFile file) { if (Objects.equal(file.getFileExtension(), "xml")) { return camelXmlMatcher.matches(file); } return false; } }); if (files.size() == 1) { setXmlFileUnderTest(files.get(0)); } } catch (Exception e) { Activator.getLogger().error("Failed to search for Camel XML files: " + e, e); } } } setJUnit4(true, true); updateStatus(getStatusList()); }
From source file:org.grails.ide.eclipse.editor.groovy.elements.GrailsProject.java
License:Open Source License
/** * @param folder/* ww w.java2 s .c o m*/ * @return */ private List<TagLibClass> findTagLibClassesInFolder(IFolder folder) { List<TagLibClass> taglibs = new ArrayList<TagLibClass>(); if (folder.exists()) { try { IPackageFragmentRoot root = (IPackageFragmentRoot) JavaCore.create(folder); if (root != null && root.exists()) { for (IJavaElement elt : root.getChildren()) { if (elt.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pack = (IPackageFragment) elt; ICompilationUnit[] units = pack.getCompilationUnits(); for (ICompilationUnit unit : units) { if (unit instanceof GroovyCompilationUnit && unit.getElementName().endsWith("TagLib.groovy")) { taglibs.add(getTagLibClass((GroovyCompilationUnit) unit)); } } } else if (elt.getElementType() == IJavaElement.COMPILATION_UNIT) { ICompilationUnit unit = (ICompilationUnit) elt; if (unit instanceof GroovyCompilationUnit && unit.getElementName().endsWith("TagLib.groovy")) { taglibs.add(new TagLibClass((GroovyCompilationUnit) unit)); } } } } else { GrailsCoreActivator.log("Problem when looking for tag libraries:\n" + folder.getLocation().toOSString() + " is not a source folder.", new RuntimeException()); } } catch (JavaModelException e) { GrailsCoreActivator.log( "Exception when trying to get all taglib classes for " + javaProject.getElementName(), e); } } return taglibs; }
From source file:org.grails.ide.eclipse.editor.gsp.search.FindTagReferences.java
License:Open Source License
/** * only check for tags if the java element states that * is a field in a taglib// www. java 2 s. co m * @param elt * @return the tag name if the specification corresponds to a tag, or else null */ boolean shouldSearchForTagRefs(IJavaElement elt) { // strangely, if the referenced tag is from a class file, then the type is ILocalVariable if (elt.getElementType() == IJavaElement.LOCAL_VARIABLE) { elt = elt.getParent(); } if (elt.getElementType() == IJavaElement.FIELD) { ICompilationUnit unit = (ICompilationUnit) elt.getAncestor(IJavaElement.COMPILATION_UNIT); if (unit instanceof GroovyCompilationUnit) { if (GrailsWorkspaceCore.isTagLibClass((GroovyCompilationUnit) unit)) { tagField = elt; tagName = tagField.getElementName(); } } else { // could be a built in tag IType type = (IType) elt.getAncestor(IJavaElement.TYPE); if (type != null && type.isReadOnly() && type.getElementName().endsWith("TagLib")) { IPackageFragment frag = (IPackageFragment) elt.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (frag.getElementName().equals("org.codehaus.groovy.grails.plugins.web.taglib")) { tagField = elt; tagName = tagField.getElementName(); } } } } return tagField != null; }
From source file:org.grails.ide.eclipse.editor.gsp.translation.GSPTranslation.java
License:Open Source License
/** * Originally from ReconcileStepForJava. Creates an ICompilationUnit from the contents of the JSP document. * /* www.j ava 2 s .co m*/ * @return an ICompilationUnit from the contents of the JSP document */ private ICompilationUnit createCompilationUnit() throws JavaModelException { IPackageFragment packageFragment = null; IJavaElement je = getJavaProject(); if (je == null || !je.exists()) return null; switch (je.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT: je = je.getParent(); // fall through case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) je; packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH); break; case IJavaElement.JAVA_PROJECT: IJavaProject jProject = (IJavaProject) je; if (!jProject.exists()) { if (DEBUG) { System.out.println( "** Abort create working copy: cannot create working copy: JSP is not in a Java project"); //$NON-NLS-1$ } return null; } packageFragmentRoot = null; IPackageFragmentRoot[] packageFragmentRoots = jProject.getPackageFragmentRoots(); int i = 0; while (i < packageFragmentRoots.length) { if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) { packageFragmentRoot = packageFragmentRoots[i]; break; } i++; } if (packageFragmentRoot == null) { if (DEBUG) { System.out.println( "** Abort create working copy: cannot create working copy: JSP is not in a Java project with source package fragment root"); //$NON-NLS-1$ } return null; } packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH); break; default: return null; } // GRAILS CHANGE // create compilation unit with .groovy instead of .java file extension ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".groovy") //$NON-NLS-1$ .getWorkingCopy(getWorkingCopyOwner(), getProgressMonitor()); // ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".java").getWorkingCopy(getWorkingCopyOwner(), getProgressMonitor()); //$NON-NLS-1$ setContents(cu); // GRAILS CHANGE // need extra call to makeConsistent // https://issuetracker.springsource.com/browse/STS-3091#comment-79054 cu.makeConsistent(getProgressMonitor()); if (DEBUG) { System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$ System.out.println("(+) JSPTranslation [" + this + "] finished creating CompilationUnit: " + cu); //$NON-NLS-1$ //$NON-NLS-2$ System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$ } return cu; }