List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE
int K_SOURCE
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.
Click Source Link
From source file:edu.brown.cs.bubbles.bedrock.BedrockProject.java
License:Open Source License
IPackageFragment findPackageFragment(String proj, String pkg) throws BedrockException { IProject ip = findProject(proj);/*from ww w . j a va 2 s.com*/ IJavaProject ijp = JavaCore.create(ip); if (ijp == null) return null; try { for (IPackageFragmentRoot pfr : ijp.getAllPackageFragmentRoots()) { try { if (!pfr.isExternal() && !pfr.isArchive() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { IPackageFragment ipf = pfr.getPackageFragment(pkg); if (ipf != null && ipf.isOpen()) { File f = BedrockUtil.getFileForPath(ipf.getPath(), ip); if (f.exists()) return ipf; BedrockPlugin.logE("Fragment path doesn't exist: " + f); } } } catch (JavaModelException e) { } } } catch (JavaModelException e) { e.printStackTrace(); throw new BedrockException("Problem finding package roots: " + e, e); } return null; }
From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java
License:Open Source License
private static void outputJavaElementImpl(IJavaElement elt, Set<String> files, boolean children, IvyXmlWriter xw) {/*from www .j a va 2 s. c o m*/ if (elt == null) return; String close = null; switch (elt.getElementType()) { case IJavaElement.CLASS_FILE: return; case IJavaElement.PACKAGE_FRAGMENT: IOpenable opn = (IOpenable) elt; if (!opn.isOpen()) { try { opn.open(null); } catch (JavaModelException e) { BedrockPlugin.logE("Package framgent " + elt.getElementName() + " not open"); return; } } try { outputNameDetails((IPackageFragment) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) elt; try { if (!pfr.isOpen() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { pfr.open(null); } } catch (JavaModelException e) { return; } outputNameDetails(pfr, xw); break; case IJavaElement.JAVA_PROJECT: IJavaProject ijp = (IJavaProject) elt; outputNameDetails(ijp, xw); break; case IJavaElement.JAVA_MODEL: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.TYPE_PARAMETER: default: break; case IJavaElement.COMPILATION_UNIT: IProject ip = elt.getJavaProject().getProject(); File f = getFileForPath(elt.getPath(), ip); if (files != null && !files.contains(f.getPath()) && !files.contains(f.getAbsolutePath())) { return; } xw.begin("FILE"); xw.textElement("PATH", f.getAbsolutePath()); String root = getRootForPath(elt.getPath(), ip); if (root != null) xw.textElement("PATHROOT", root); close = "FILE"; break; case IJavaElement.TYPE: try { outputNameDetails((IType) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.FIELD: try { outputNameDetails((IField) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.METHOD: try { outputNameDetails((IMethod) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.INITIALIZER: outputNameDetails((IInitializer) elt, xw); break; case IJavaElement.PACKAGE_DECLARATION: outputNameDetails((IPackageDeclaration) elt, xw); break; case IJavaElement.LOCAL_VARIABLE: outputNameDetails((ILocalVariable) elt, xw); break; } if (children && elt instanceof IParent) { try { for (IJavaElement c : ((IParent) elt).getChildren()) { outputJavaElementImpl(c, files, children, xw); } } catch (JavaModelException e) { } } if (close != null) xw.end(close); }
From source file:edu.clarkson.serl.critic.loader.SootClassLoader.java
License:Open Source License
/** * The method traverses all of the project types in depth-first order * including inner and anonymous types and loads them in Soot. * //from w w w . j a v a2 s.c o m * * @param monitor The progress monitor. * @throws Exception Propagated from JDT APIs. */ public void process(IProgressMonitor subMonitor) throws Exception { IJavaProject project = CriticPlugin.getIJavaProject(); IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); subMonitor.beginTask("Loading " + project.getElementName() + " ...", 2); SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1); monitor.beginTask("Loading packages ... ", packageFragmentRoots.length + 1); for (IPackageFragmentRoot pkgFragRoot : packageFragmentRoots) { if (pkgFragRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] pkgFrags = (IJavaElement[]) pkgFragRoot.getChildren(); for (IJavaElement pkgFrag : pkgFrags) { if (monitor.isCanceled()) return; monitor.subTask("Loading classes in " + pkgFrag.getElementName()); if (pkgFrag.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pkgFragment = (IPackageFragment) pkgFrag; IJavaElement[] children = pkgFragment.getChildren(); for (IJavaElement anElement : children) { if (monitor.isCanceled()) return; // Make sure its a java file if (anElement.getElementType() == IJavaElement.COMPILATION_UNIT) { this.dfsDomTree(anElement, monitor); } } } } } monitor.worked(1); } // Load the necessary classes after all of the classes have been loaded. Scene.v().loadNecessaryClasses(); monitor.done(); // Create an instance of Interpreter before we process anything further Interpreter.instance(); monitor = new SubProgressMonitor(subMonitor, 1); monitor.beginTask("Configuring entry points ... ", this.getAllSootClasses().size()); for (SootClass c : this.getAllSootClasses()) { ExtensionManager manager = ExtensionManager.instance(); // Configure entry methods for extension plugin for (SootMethod method : c.getMethods()) { if (monitor.isCanceled()) return; manager.checkEntryMethod(method, monitor); monitor.worked(1); } } monitor.done(); }
From source file:edu.cmu.cups.androidpermissions.handlers.SampleHandler.java
License:Open Source License
private void printPackageInfos(IJavaProject javaProject) throws JavaModelException { IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment mypackage : packages) { System.out.print(mypackage.getElementName() + " "); }// w ww . jav a 2 s . c o m for (IPackageFragment mypackage : packages) { // Package fragments include all packages in the // classpath // We will only look at the package from the source // folder (K_SOURCE) // K_BINARY would include also included JARS, e.g. // rt.jar if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) { if (mypackage.getElementName().length() != 0) { System.out.println("Package " + mypackage.getElementName()); } foundManifest = false; //reset for each package printICompilationUnitInfo(mypackage); System.out.println("done with package " + mypackage.getElementName()); } } }
From source file:edu.uci.lighthouse.core.util.WorkbenchUtility.java
License:Open Source License
public static Collection<IFile> getFilesFromJavaProject(IJavaProject jProject) { Collection<IFile> files = new HashSet<IFile>(); try {/*w ww .j a va 2 s. co m*/ IPackageFragment[] packagesFragments = jProject.getPackageFragments(); for (IPackageFragment packageFragment : packagesFragments) { if (packageFragment.getKind() == IPackageFragmentRoot.K_SOURCE && packageFragment.getCompilationUnits().length > 0) { ICompilationUnit[] icus = packageFragment.getCompilationUnits(); for (ICompilationUnit icu : icus) { files.add((IFile) icu.getResource()); } } } } catch (JavaModelException e) { e.printStackTrace(); } return files; }
From source file:fede.workspace.eclipse.java.fields.IC_JavaClassForBrowser_Combo.java
License:Apache License
private void addProject(ArrayList<IPackageFragmentRoot> result, IProject p) throws JavaModelException { IJavaProject jp = JavaCore.create(p); if (jp == null) { return;/*from w ww .j av a 2 s .co m*/ } IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE || (roots[i].isArchive())) { result.add(roots[i]); } } }
From source file:fede.workspace.eclipse.java.fields.MethodField.java
License:Apache License
/** * Choose method./*w ww .j a v a2s .c o m*/ * * @return the i method */ private IMethod chooseMethod() { IJavaElement[] packages = getPackageFragment(); if (packages == null) { packages = new IJavaElement[0]; } StandardJavaElementContentProvider standardJavaElementContentProvider = new StandardJavaElementContentProvider( true) { @Override public Object[] getChildren(Object element) { if (element instanceof IJavaElement[]) { return (Object[]) element; } if (element instanceof IPackageFragment) { try { return mygetPackageContents((IPackageFragment) element); } catch (JavaModelException e) { return new Object[0]; } } return super.getChildren(element); } private Object[] mygetPackageContents(IPackageFragment fragment) throws JavaModelException { List<IType> types = new ArrayList<IType>(); if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit[] cu = fragment.getCompilationUnits(); for (ICompilationUnit oneCu : cu) { types.addAll(Arrays.asList(oneCu.getTypes())); } return types.toArray(); // concatenate(fragment.getCompilationUnits(), // fragment.getNonJavaResources()); } IClassFile[] cfs = fragment.getClassFiles(); for (IClassFile cf : cfs) { types.add(cf.getType()); } return types.toArray(); // return concatenate(fragment.getClassFiles(), // fragment.getNonJavaResources()); } @Override public boolean hasChildren(Object element) { if (element instanceof IJavaElement[]) { return true; } return super.hasChildren(element); } }; ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(packageTable.getShell(), JAVA_ELEMENT_LABEL_PROVIDER, standardJavaElementContentProvider); // dialog.setIgnoreCase(false); dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title); dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description); dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty); dialog.setAllowMultiple(false); dialog.setDoubleClickSelects(false); dialog.setValidator(new ISelectionStatusValidator() { public IStatus validate(Object[] selection) { if (selection != null && selection.length == 1 && selection[0] instanceof IMethod) { return Status.OK_STATUS; } return new Status(IStatus.ERROR, WSPlugin.PLUGIN_ID, 0, "Select a method", null); } }); dialog.setInput(packages); if (methodSelected != null) { dialog.setInitialSelections(new Object[] { methodSelected }); } if (dialog.open() == Window.OK) { return (IMethod) dialog.getFirstResult(); } return null; }
From source file:fede.workspace.eclipse.java.fields.StringToPackageValueController.java
License:Apache License
/** * Abstract to visual value.//from ww w . j a v a 2s . c o m * * @param value * the value * * @return the object */ public Object abstractToVisualValue(Object value) { List<String> packagesString = (List<String>) value; Item theCurrentItem = getItem(); IJavaProject jp; try { jp = JavaProjectManager.getJavaProject(theCurrentItem); } catch (CoreException e) { IStatus status = new Status(IStatus.ERROR, WSJavaPlugin.PLUGIN_ID, 0, MessageFormat.format("Cannot find the java projet from the item {0}", theCurrentItem.getName()), null); WSJavaPlugin.getDefault().log(status); return new ArrayList<IPackageFragment>(); } if (jp == null) { return new ArrayList<IPackageFragment>(); } IPackageFragmentRoot[] rootPackages; try { rootPackages = jp.getPackageFragmentRoots(); } catch (JavaModelException e) { WSJavaPlugin.getDefault().log(new Status(IStatus.ERROR, WSPlugin.PLUGIN_ID, 0, MessageFormat.format( "Cannot find the package fragment root from the item {0}", theCurrentItem.getName()), null)); return new ArrayList<IPackageFragment>(); } if (rootPackages == null || rootPackages.length == 0) { return new ArrayList<IPackageFragment>(); } if (packagesString == null) { return new ArrayList<IPackageFragment>(); } IPackageFragmentRoot packageSrc = null; for (IPackageFragmentRoot fr : rootPackages) { try { if (fr.getKind() == IPackageFragmentRoot.K_SOURCE) { packageSrc = fr; break; } } catch (JavaModelException e) { WSJavaPlugin.getDefault() .log(new Status(IStatus.ERROR, WSPlugin.PLUGIN_ID, 0, MessageFormat.format( "Cannot find the type of the package fragment root {1} from the item {0}", theCurrentItem.getId(), fr.getElementName()), null)); } } List<IPackageFragment> ret = new ArrayList<IPackageFragment>(); for (String pString : packagesString) { IPackageFragment findPackage = null; for (IPackageFragmentRoot fr : rootPackages) { findPackage = fr.getPackageFragment(pString); if (findPackage.exists()) { break; } } if (packageSrc != null && (findPackage == null || !findPackage.exists())) { findPackage = packageSrc.getPackageFragment(pString); } if (findPackage != null) { ret.add(findPackage); } } return ret; }
From source file:fr.ifpen.emptooling.reverse.JavaToEcore.java
License:Open Source License
/** * Reverse the java project into an EcoreModel. * /*from ww w . ja v a2 s . com*/ * @return the {@link EPackage} corresponding to the java project parsed. * @throws JavaModelException * @throws InterruptedException * @throws InvocationTargetException */ public EPackage reverse(IProgressMonitor monitor) throws JavaModelException { monitor.beginTask("Java to Ecore reverse processing ...", IProgressMonitor.UNKNOWN); String projectName = project.getElementName(); logEntry(errorLog, "[" + Calendar.getInstance().getTime() + "] " + "Start parsing for : " + projectName); logEntry(errorLog, "File Name;Field/Type Name;Error Type;Unresolved Type"); logEntry(getterLog, "[" + Calendar.getInstance().getTime() + "] " + "List of getter annotations for : " + projectName); logEntry(getterLog, "File Name;Field Name"); logEntry(enumLog, "[" + Calendar.getInstance().getTime() + "] " + "List of enum annotations for : " + projectName); logEntry(enumLog, "File Name;Field Name"); eProject = eFactory.createEPackage(); eProject.setName(params.rootPackageName); eProject.setNsPrefix(params.rootNsPrefix); eProject.setNsURI(params.rootNsURI); // IJavaProject project = JavaCore.create(project); if (packages.isEmpty()) { packages = Arrays.asList(project.getPackageFragments()); } Collections.sort(packages, new Comparator<IPackageFragment>() { public int compare(IPackageFragment p1, IPackageFragment p2) { return p1.getElementName().compareTo(p2.getElementName()); } }); for (IPackageFragment mypackage : packages) { if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE && mypackage.hasChildren()) { EPackage processPackage = processPackage(mypackage); eProject.getESubpackages().add(processPackage); } } for (Entry<IType, EClassifier> entry : eTypesAdded.entrySet()) { IType iType = entry.getKey(); EClassifier eClassifier = entry.getValue(); if (eClassifier instanceof EClass) { /* Post-processing to resolve super-classes references */ postProcessType(iType, (EClass) eClassifier); /* Process all fields of IType */ processFields(iType, (EClass) eClassifier); } else if (eClassifier instanceof EEnum) { processLiterals(iType, (EEnum) eClassifier); } } logEntry(errorLog, "[" + Calendar.getInstance().getTime() + "] " + "End of parsing for : " + projectName); logEntry(getterLog, "[" + Calendar.getInstance().getTime() + "] " + "End of list of getter annotations for : " + projectName); monitor.done(); return eProject; }
From source file:fr.ifpen.emptooling.reverse.ui.handlers.ReverseToEcoreHandler.java
License:Open Source License
/** * the command has been executed, so extract extract the needed information * from the application context.//from w w w. java 2 s . co m */ public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); Shell activeShell = HandlerUtil.getActiveShell(event); StructuredSelection sSelection = (StructuredSelection) window.getSelectionService().getSelection(); if (!sSelection.isEmpty()) { Object selection = sSelection.getFirstElement(); if (selection instanceof IJavaProject) { javaProject = (IJavaProject) selection; if (javaPackages.isEmpty()) { try { for (IPackageFragment pf : javaProject.getPackageFragments()) { if (pf.getKind() == IPackageFragmentRoot.K_SOURCE && pf.hasChildren()) { javaPackages.add(pf); } } } catch (JavaModelException e) { e.printStackTrace(); } } } else { if (selection instanceof IPackageFragment && ((IPackageFragment) selection).getElementType() == IJavaElement.PACKAGE_FRAGMENT) { this.javaPackages.add((IPackageFragment) selection); this.javaProject = ((IPackageFragment) selection).getJavaProject(); } } ReverseToEcoreWizard wizard = new ReverseToEcoreWizard(); WizardDialog dialog = new WizardDialog(activeShell, wizard); wizard.setWindowTitle("Reverse configuration"); if (dialog.open() == Window.OK) { final ReverseSettings reverseSettings = new ReverseSettings(); reverseSettings.rootNsPrefix = wizard.getBaseNSPrefix(); reverseSettings.rootNsURI = wizard.getBaseURI(); reverseSettings.rootPackageName = javaProject.getElementName(); final IContainer target = wizard.getTargetContainer(); IRunnableWithProgress operation = new ReverseToEcoreRunnable(javaProject, javaPackages, reverseSettings, target); try { PlatformUI.getWorkbench().getProgressService().run(true, true, operation); } catch (InvocationTargetException e) { IStatus status = new Status(IStatus.ERROR, ReverseUIPlugin.PLUGIN_ID, e.getMessage(), e); ReverseUIPlugin.getPlugin().getLog().log(status); } catch (InterruptedException e) { IStatus status = new Status(IStatus.ERROR, ReverseUIPlugin.PLUGIN_ID, e.getMessage(), e); ReverseUIPlugin.getPlugin().getLog().log(status); } } } return null; }