List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot isArchive
public boolean isArchive();
From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java
License:Open Source License
private List<IPackageFragmentRoot> getJars(IJavaModel javaModel) throws JavaModelException { IJavaProject[] projects = javaModel.getJavaProjects(); TreeSet<String> jarNames = new TreeSet<String>(); LinkedList<IPackageFragmentRoot> jars = new LinkedList<IPackageFragmentRoot>(); for (IJavaProject javaProj : projects) { IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (root.isArchive() && root.getSourceAttachmentPath() != null) { String name = root.getElementName(); if (!jarNames.contains(name)) { jarNames.add(name);//from w w w.ja v a 2s. c o m jars.add(root); } } } } return jars; }
From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java
License:Open Source License
/** * @param doc/*www .j av a 2 s .c om*/ * @return * @throws JavaModelException */ private IStorage getNonJavaResource(SearchResultDoc doc) throws JavaModelException { IWorkspaceRoot workspaceRoot = InstaSearchPlugin.getWorkspaceRoot(); IJavaModel javaModel = JavaCore.create(workspaceRoot); String javaProjectName = doc.getProject().segment(0); IJavaProject javaProj = javaModel.getJavaProject(javaProjectName); if (!javaProj.isOpen()) javaProj.open(new NullProgressMonitor()); javaModel.refreshExternalArchives(new IJavaElement[] { javaProj }, new NullProgressMonitor()); String jarName = doc.getJarName(); IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots(); IPackageFragmentRoot jar = null; for (IPackageFragmentRoot root : roots) { if (root.isArchive() && root.getSourceAttachmentPath() != null) { String name = root.getElementName(); if (name.equals(jarName)) { jar = root; break; } } } if (jar == null) return null; String filePath = doc.getFilePath(); IPath path = new Path(filePath); IJarEntryResource res = null; for (String segment : path.segments()) { if (res == null) res = findJarEntry(jar, segment); else res = findJarEntry(res.getChildren(), segment); } return res; }
From source file:jmockit.assist.JunitLaunchListener.java
License:Open Source License
public boolean addJavaAgentVmArg(final ILaunchConfiguration conf) throws CoreException { boolean added = false; String vmargs = conf.getAttribute(JunitLaunchListener.VM_ARGS, ""); String project = conf.getAttribute(JunitLaunchListener.PROJ_ATTR, ""); IJavaModel javaModel = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()); IJavaProject jproj = javaModel.getJavaProject(project); IType mockitType = jproj.findType(MockUtil.MOCK); if (mockitType == null) { mockitType = jproj.findType(MockUtil.MOCKIT); }//from w w w . ja v a 2 s. c om if (mockitType != null) { IPackageFragmentRoot root = (IPackageFragmentRoot) mockitType .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (root != null && root.isArchive()) // its a jar { String jarPath = root.getPath().toOSString(); if (root.getResource() != null) { jarPath = root.getResource().getRawLocation().toString(); } if (new File(jarPath).exists()) { String javaagentArg = "-javaagent:\"" + jarPath + "\""; setOrCreateVariable(javaagentArg); if (!vmargs.contains(JunitLaunchListener.JMOCKIT_VAR) && !vmargs.contains("-javaagent")) { setRunConfVmArgs(conf, vmargs + " " + JunitLaunchListener.JMOCKIT_VAR); added = true; } } else { Activator.log(new FileNotFoundException(jarPath)); } } } return added; }
From source file:nz.ac.massey.cs.barrio.srcgraphbuilder.ExtractDependencyGraphJob.java
License:Apache License
@Override protected IStatus run(IProgressMonitor monitor) { try {//from w w w .jav a2s.com int SCALE = 100000; monitor.beginTask("extracting dependency graph from Java project", SCALE); monitor.subTask("gathering classes"); try { for (IJavaElement e : project.getChildren()) { //System.out.println("child"+e+" - "+e.getClass()); if (e instanceof IPackageFragmentRoot) { // sources IPackageFragmentRoot pfr = (IPackageFragmentRoot) e; if (pfr.getKind() == pfr.K_SOURCE) { ContainerRef c = new ContainerRef(); c.setSourceContainer(true); c.setName(pfr.getElementName()); c.setArchive(pfr.isArchive()); this.containers.add(c); gatherSources(c, pfr); // System.out.println("Added container " + c.getName() + " - contains " + c.getClassCount() + " sources"); } else if (pfr.getKind() == pfr.K_BINARY) { ContainerRef c = new ContainerRef(); c.setSourceContainer(false); c.setName(pfr.getElementName()); this.containers.add(c); gatherBinaries(c, pfr); // System.out.println("Added container " + c.getName() + " - contains " + c.getClassCount() + " bin classes"); } else { System.err.println("Unhandled Java element type: " + e); } } } } catch (Exception x) { x.printStackTrace(); } // STEP2 - parse sources monitor.worked((int) (0.08 * SCALE)); monitor.subTask("parsing classes"); List<PackageRef> packages = new ArrayList<PackageRef>(); for (ContainerRef c : containers) { if (c.isSourceContainer()) { for (PackageRef p : c.getPackages()) { if (p.getClassCount() > 0) packages.add(p); } } } monitor.internalWorked((int) (0.1 * SCALE)); int delta = (int) (SCALE * 0.5 / packages.size()); for (PackageRef p : packages) { monitor.subTask("parsing classes in package " + p.getName()); monitor.worked(delta); for (ClassRef c : p.getClasses()) { SourceRef src = (SourceRef) c; ExtractTypeInfoVisitor v = new ExtractTypeInfoVisitor(src); ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource(src.getCompilationUnit()); parser.setResolveBindings(false); ASTNode node = parser.createAST(null); node.accept(v); } } // STEP3 - resolve references for (PackageRef p : packages) { monitor.subTask("resolving references " + p.getName()); monitor.worked(delta); // add inner classes List<ClassRef> classlist = new ArrayList<ClassRef>(); // to avoid concurrent modification exception classlist.addAll(p.getClasses()); for (ClassRef c : classlist) { addInnerClasses((SourceRef) c, p); } // resolve references for (ClassRef c : p.getClasses()) { SourceRef src = (SourceRef) c; resolveReferences(src); } } // STEP5: testing for (ContainerRef c : containers) { if (c.hasTestCases()) c.test(); } // STEP6 export graph monitor.subTask("exporting dependency graph"); exportGraph(); monitor.done(); return Status.OK_STATUS; } finally { } }
From source file:org.apache.tapestrytools.ui.internal.tcc.editor.PackagesPart.java
License:Open Source License
private void collectCustomComponents(IProject project) { List<ComponentInstance> componentList = new ArrayList<ComponentInstance>(); try {// w w w. j av a2 s .com IPackageFragmentRoot[] roots = JavaCore.create(project).getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; String srcPath = root.getElementName(); for (ComponentPackage pi : model.getCustomPackageList()) { if (pi.isArchive() == root.isArchive() && srcPath.equals(pi.getFragmentRoot())) { if (!root.isArchive()) { //Load custom components from source directory String wholePath = "/" + srcPath + "/" + pi.getPath().replace(".", "/"); IFolder folder = project.getFolder(wholePath); if (folder.exists()) { IResource[] fileList = folder.members(); for (IResource file : fileList) { String fullPath = file.getFullPath().toString(); String classFile = fullPath.replace(".tml", ".java").substring(1); classFile = classFile.substring(classFile.indexOf("/")); if (fullPath.endsWith(".tml") && file.getType() == IResource.FILE && project.getFile(classFile).exists()) { IFile componentFile = (IFile) file; Element rootElement = getRootElementOfXML(componentFile.getContents()); if (rootElement.getNodeName().trim().equals("t:container")) { String componentName = classFile.substring(classFile.lastIndexOf("/")); componentName = componentName.substring(0, componentName.indexOf(".")); if (componentName.startsWith("/")) componentName = componentName.substring(1); ComponentInstance ci = new ComponentInstance(); ci.setId(componentName); ci.setName(pi.getPrefix() + ":" + componentName); ci.setPath(pi.getPath()); ci.setPrefix(pi.getPrefix()); ci.setText(componentName); componentList.add(ci); } } } } } else { // Load custom components from jar files for (IJavaElement pack : root.getChildren()) { if (pack != null && pack instanceof PackageFragment && pack.getElementName().equals(pi.getPath())) { for (Object packo : ((PackageFragment) pack) .getChildrenOfType(IJavaElement.CLASS_FILE)) { ClassFile packi = (ClassFile) packo; String itemName = packi.getElementName(); if (itemName.indexOf('$') < 0 && itemName.endsWith(".class")) { ComponentInstance ci = new ComponentInstance(); String componentName = itemName.substring(0, itemName.length() - 6); ci.setId(componentName); ci.setName(pi.getPrefix() + ":" + componentName); ci.setPath(pi.getPath()); ci.setPrefix(pi.getPrefix()); ci.setText(componentName); componentList.add(ci); } } break; } } } } } } model.setComponentList(componentList); markDirty(); } catch (JavaModelException e) { e.printStackTrace(); } catch (CoreException e) { e.printStackTrace(); } }
From source file:org.apache.tapestrytools.ui.internal.tcc.editor.Utils.java
License:Open Source License
public static Set<IJavaElement> getSrcDirectories(IProject project) { Set<IJavaElement> list = new HashSet<IJavaElement>(); try {//w w w . ja v a 2 s.c om IPackageFragmentRoot[] sourceFolders = JavaCore.create(project).getAllPackageFragmentRoots(); for (int i = 0; i < sourceFolders.length; i++) { IPackageFragmentRoot item = sourceFolders[i]; String jarPath = item.getPath().toString(); String jarName = jarPath.substring(jarPath.lastIndexOf('/')); if (sourceFolders[i].getResource() != null && !sourceFolders[i].isArchive() || item.isArchive() && jarPath.endsWith(".jar") && !BLOCKED_JARS.contains(jarName)) { IJavaElement[] eles = sourceFolders[i].getChildren(); for (IJavaElement ele : eles) { if (!ele.getElementName().trim().isEmpty()) list.add(ele); } } } } catch (JavaModelException e) { e.printStackTrace(); } return list; }
From source file:org.cloudfoundry.ide.eclipse.server.standalone.internal.application.JavaCloudFoundryArchiver.java
License:Open Source License
protected IFile getManifest(IPackageFragmentRoot[] roots, IJavaProject javaProject) throws CoreException { IFolder metaFolder = null;/* w ww . j a v a2s. c om*/ for (IPackageFragmentRoot root : roots) { if (!root.isArchive() && !root.isExternal()) { IResource resource = root.getResource(); metaFolder = getMetaFolder(resource); if (metaFolder != null) { break; } } } // Otherwise look for manifest file in the java project: if (metaFolder == null) { metaFolder = getMetaFolder(javaProject.getProject()); } if (metaFolder != null) { IResource[] members = metaFolder.members(); if (members != null) { for (IResource mem : members) { if (MANIFEST_FILE.equals(mem.getName().toUpperCase()) && mem instanceof IFile) { return (IFile) mem; } } } } return null; }
From source file:org.cloudfoundry.ide.eclipse.server.standalone.internal.application.JavaCloudFoundryArchiver.java
License:Open Source License
protected void bootRepackage(final IPackageFragmentRoot[] roots, File packagedFile) throws CoreException { Repackager bootRepackager = new Repackager(packagedFile); try {/* w ww . ja va2 s .c o m*/ bootRepackager.repackage(new Libraries() { public void doWithLibraries(LibraryCallback callBack) throws IOException { for (IPackageFragmentRoot root : roots) { if (root.isArchive()) { File rootFile = new File(root.getPath().toOSString()); if (rootFile.exists()) { callBack.library(new Library(rootFile, LibraryScope.COMPILE)); } } } } }); } catch (IOException e) { handleApplicationDeploymentFailure( NLS.bind(Messages.JavaCloudFoundryArchiver_ERROR_REPACKAGE_SPRING, e.getMessage())); } }
From source file:org.dyno.visual.swing.base.JavaUtil.java
License:Open Source License
private static IPackageFragmentRoot getSourceRoot(IJavaProject prj) { try {// ww w . j a v a2s . com IJavaElement[] children = prj.getChildren(); for (IJavaElement child : children) { if (child instanceof IPackageFragmentRoot) { IPackageFragmentRoot childRoot = (IPackageFragmentRoot) child; if (!childRoot.isArchive()) return childRoot; } } } catch (JavaModelException e) { VisualSwingPlugin.getLogger().error(e); } return null; }
From source file:org.dyno.visual.swing.base.ResourceIcon.java
License:Open Source License
public ResourceIcon(String p) { this.path = p; IJavaProject prj = VisualSwingPlugin.getCurrentProject(); IProject project = prj.getProject(); IResource resource = project.findMember(new Path(p)); if (resource == null) { IPackageFragmentRoot[] roots;//from w w w . j a v a2 s .c o m try { roots = prj.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (!root.isArchive()) { String src = root.getElementName(); src = "/" + src + p; resource = project.findMember(new Path(src)); if (resource != null) { String ext = resource.getFileExtension(); if (ext.equals("gif") || ext.equals("png") || ext.equals("jpg")) { IPath fullPath = project.getWorkspace().getRoot().getRawLocation() .append(resource.getFullPath()); String fullpath = fullPath.toString(); Image image = Toolkit.getDefaultToolkit().getImage(fullpath); icon = new ImageIcon(image); } else { break; } } } } } catch (JavaModelException e) { VisualSwingPlugin.getLogger().error(e); } } }