List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getElementName
String getElementName();
From source file:com.microsoft.javapkgsrv.JavaElementLabelComposer.java
License:Open Source License
private void appendInternalArchiveLabel(IPackageFragmentRoot root, long flags) { IResource resource = root.getResource(); boolean rootQualified = getFlag(flags, ROOT_QUALIFIED); if (rootQualified) { fBuffer.append(root.getPath().makeRelative().toString()); } else {/*from w ww . j av a2s . co m*/ fBuffer.append(root.getElementName()); int offset = fBuffer.length(); boolean referencedPostQualified = getFlag(flags, REFERENCED_ROOT_POST_QUALIFIED); if (referencedPostQualified && isReferenced(root)) { fBuffer.append(CONCAT_STRING); fBuffer.append(resource.getParent().getFullPath().makeRelative().toString()); } else if (getFlag(flags, ROOT_POST_QUALIFIED)) { fBuffer.append(CONCAT_STRING); fBuffer.append(root.getParent().getPath().makeRelative().toString()); } if (referencedPostQualified) { try { IClasspathEntry referencingEntry = getClasspathEntry(root).getReferencingEntry(); if (referencingEntry != null) { fBuffer.append(" (from "); fBuffer.append(Name.CLASS_PATH.toString()); fBuffer.append(" of "); fBuffer.append(referencingEntry.getPath().lastSegment()); fBuffer.append(")"); } } catch (JavaModelException e) { // ignore } } } }
From source file:com.motorola.studio.android.model.BuildingBlockModel.java
License:Apache License
/** * Extract source folder from selection. * @param selection//ww w .ja v a2s . c o m * @return * @throws CoreException */ private static IPackageFragmentRoot extractPackageFragmentRoot(IStructuredSelection selection) throws CoreException { IPackageFragmentRoot pack = null; Object selectionElement = selection.getFirstElement(); if (selectionElement instanceof IPackageFragmentRoot) { pack = (IPackageFragmentRoot) selectionElement; } else if (selectionElement instanceof IJavaElement) { pack = (IPackageFragmentRoot) ((IJavaElement) selectionElement) .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (pack == null) { IJavaProject element = ((IJavaElement) selectionElement).getJavaProject(); for (IPackageFragmentRoot root : element.getPackageFragmentRoots()) { if (root.getResource() != null) { boolean isSrc = (root.getElementType() & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE; boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER) && (root.getParent() instanceof IJavaProject); if (isSrc && !isGen) { pack = root; break; } } } } } else if (selectionElement instanceof IResource) { IJavaProject element = JavaCore.create(((IResource) selectionElement).getProject()); if (element.isOpen()) { for (IPackageFragmentRoot root : element.getPackageFragmentRoots()) { if (root.getResource() != null) { boolean isSrc = (root.getElementType() & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE; boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER) && (root.getParent() instanceof IJavaProject); if (isSrc && !isGen) { pack = root; break; } } } } } else { IJavaProject[] allProjects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()) .getJavaProjects(); if ((allProjects != null) && (allProjects.length > 0)) { for (IJavaProject project : allProjects) { if (project.getResource().getProject().hasNature(IAndroidConstants.ANDROID_NATURE)) { IPackageFragmentRoot[] roots = project.getPackageFragmentRoots(); if ((roots != null) && (roots.length > 0)) { boolean found = false; for (IPackageFragmentRoot root : roots) { boolean isSrc = (root.getElementType() & IPackageFragmentRoot.K_SOURCE) == IPackageFragmentRoot.K_SOURCE; boolean isGen = root.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER) && (root.getParent() instanceof IJavaProject); if (isSrc && !isGen) { found = true; pack = root; break; } } if (found) { break; } } } } } } if (pack != null) { if (!pack.getJavaProject().getProject().hasNature(IAndroidConstants.ANDROID_NATURE)) { pack = extractPackageFragmentRoot(new TreeSelection()); } } return pack; }
From source file:com.motorola.studio.android.wizards.buildingblocks.ElementTreeValidator.java
License:Apache License
@Override public boolean isSelectedValid(Object element) { boolean isValid = false; try {/*from w w w. j a va 2 s .c o m*/ if (element instanceof IJavaProject) { IJavaProject jproject = (IJavaProject) element; IPath path = jproject.getProject().getFullPath(); isValid = (jproject.findPackageFragmentRoot(path) != null); } else if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element; boolean isSrc = (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE); boolean isGen = packageFragmentRoot.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER) && (packageFragmentRoot.getParent() instanceof IJavaProject); isValid = isSrc && !isGen; } else { isValid = true; } } catch (JavaModelException e) { StudioLogger.error(ElementTreeValidator.class, e.getLocalizedMessage(), e); } return isValid; }
From source file:com.mountainminds.eclemma.autoMerge.OldFileAnalyzer.java
License:Open Source License
private AnalyzedNodes analyzeInternal(final IPackageFragmentRoot root) throws CoreException { IPath location = null;/*from w w w . j a v a2s. c om*/ try { location = root.getJavaProject().getOutputLocation(); if (location == null) { TRACER.trace("No class files found for package fragment root {0}", //$NON-NLS-1$ root.getPath()); return AnalyzedNodes.EMPTY; } AnalyzedNodes nodes = cache.get(getClassfilesLocation(root)); if (nodes != null) { ConsoleMessage.showMessage("cache existed"); //$NON-NLS-1$ return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); // binroot = resource.getProjectRelativePath(); analyzePackage = new HashSet<String>(); for (SourceFileInfo fileInfo : oldfiles.values()) { String className = fileInfo.getClassName(); int pos = className.lastIndexOf("/"); String packageName = className.substring(0, pos); if (analyzePackage.contains(packageName)) continue; analyzePackage.add(packageName); IFolder packagefolder = root.getJavaProject().getProject().getParent() .getFolder(location.append(packageName)); for (IResource classresource : packagefolder.members()) { if ((classresource instanceof IFile) == false) continue; HashSet<String> readMainClass = new HashSet<String>(); final IFile file = (IFile) classresource; if (file.getFileExtension().equals("class") == false) continue; // String classNanme = resource.getName(); String classname = packageName + "/" + file.getName(); classname = classname.substring(0, classname.lastIndexOf(".class")); // TODO GET PROJECT PATH // file.getp String noInnerPerf = classname; if (classname.indexOf("$") > 0) noInnerPerf = classname.substring(0, classname.indexOf("$")); if (oldfiles.containsKey(noInnerPerf + ".java") && !sessionClass.contains(classname)) { final InputStream in = file.getContents(true); try { analyzer.analyzeAll(in, classname); System.err.println("Analyse old class..." + classname); // inner class class if (!classname.equals(noInnerPerf) && readMainClass.contains(noInnerPerf) == false) { String parentclassname = file.getName().substring(0, file.getName().indexOf("$")); System.err.println("Analyse old class..." + packageName + "/" + parentclassname); IFile parentfileFile = (IFile) packagefolder.findMember(parentclassname + ".class"); InputStream parentin = parentfileFile.getContents(true); analyzer.analyzeAll(parentin, noInnerPerf); readMainClass.add(noInnerPerf); System.err.println("Analyse old class..." + noInnerPerf); } } finally { in.close(); } } } } // new OldTreeWalker(analyzer, oldfiles).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(getClassfilesLocation(root), nodes); return nodes; } catch (Exception e) { throw new CoreException( EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e)); } }
From source file:com.mountainminds.eclemma.autoMerge.OldFileAnalyzer.java
License:Open Source License
private AnalyzedNodes analyzeExternal(final IPackageFragmentRoot root) throws CoreException { IPath location = null;// w w w . j a v a 2 s.c o m try { location = root.getPath(); AnalyzedNodes nodes = cache.get(location); if (nodes != null) { return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); new OldTreeWalker(analyzer, oldfiles).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(location, nodes); return nodes; } catch (Exception e) { throw new CoreException( EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e)); } }
From source file:com.mountainminds.eclemma.internal.core.analysis.PackageFragementRootAnalyzer.java
License:Open Source License
private AnalyzedNodes analyzeInternal(final IPackageFragmentRoot root) throws CoreException { IResource location = null;//from ww w . ja v a 2s . com try { location = getClassfilesLocation(root); if (location == null) { TRACER.trace("No class files found for package fragment root {0}", //$NON-NLS-1$ root.getPath()); return AnalyzedNodes.EMPTY; } AnalyzedNodes nodes = cache.get(location); if (nodes != null) { return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); new ResourceTreeWalker(analyzer).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(location, nodes); return nodes; } catch (Exception e) { throw new CoreException( EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e)); } }
From source file:com.mountainminds.eclemma.internal.core.analysis.PackageFragementRootAnalyzer.java
License:Open Source License
private AnalyzedNodes analyzeExternal(final IPackageFragmentRoot root) throws CoreException { IPath location = null;//ww w . ja v a 2 s .c o m try { location = root.getPath(); AnalyzedNodes nodes = cache.get(location); if (nodes != null) { return nodes; } final CoverageBuilder builder = new CoverageBuilder(); final Analyzer analyzer = new Analyzer(executiondata, builder); new ResourceTreeWalker(analyzer).walk(location); nodes = new AnalyzedNodes(builder.getClasses(), builder.getSourceFiles()); cache.put(location, nodes); return nodes; } catch (Exception e) { throw new CoreException( EclEmmaStatus.BUNDLE_ANALYSIS_ERROR.getStatus(root.getElementName(), location, e)); } }
From source file:com.mountainminds.eclemma.internal.core.analysis.SessionAnalyzerTest.java
License:Open Source License
@Test public void testGetNameExternalLibrary() throws CoreException, IOException { IPackageFragmentRoot library = javaProject.createExternalJAR("testdata/bin/signatureresolver.jar", null, null);/*from w w w. j av a 2s. c om*/ assertEquals(library.getElementName(), sessionAnalyzer.getName(library)); }
From source file:com.mountainminds.eclemma.internal.ui.coverageview.CellTextConverter.java
License:Open Source License
private String getSimpleTextForJavaElement(Object element) { if (element instanceof IPackageFragmentRoot) { final IPackageFragmentRoot root = (IPackageFragmentRoot) element; // tweak label if the package fragment root is the project itself: if (root.getElementName().length() == 0) { element = root.getJavaProject(); }/*from ww w .j av a 2 s . c o m*/ // shorten JAR references try { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { return root.getPath().lastSegment(); } } catch (JavaModelException e) { EclEmmaUIPlugin.log(e); } } return workbenchLabelProvider.getText(element); }
From source file:de.fxworld.generationgap.GapConfiguration.java
License:Open Source License
public void resetDefault() { final IProject project = getJavaProject().getProject(); final List<String> genModels = new ArrayList<String>(); final List<String> clearSrcPaths = new ArrayList<String>(); setGenerateEdit(false);// w w w .ja va 2 s. c o m setGenerateEditor(false); setGenerateCustomClasses(false); // add all generator models try { project.accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if ((resource != null) && (resource instanceof IFile)) { IFile file = (IFile) resource; if ((file.exists()) && ("genmodel".equals(file.getFileExtension()))) { genModels.add(file.getProjectRelativePath().toString()); } } return true; // visit children too } }); } catch (CoreException e) { e.printStackTrace(); } // get all source paths try { boolean found = false; for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) { if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) { if (root.getElementName().contains("src-gen")) { clearSrcPaths.add(root.getResource().getProjectRelativePath().toString()); } else if (!found) { setCustomSrcPath(root.getResource().getProjectRelativePath().toString()); found = true; } } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } setGenModels(genModels); setSrcPaths(clearSrcPaths); }