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: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 w ww. j a v a 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.buffalo.cse.green.action.OpenNewEditorAction.java
License:Open Source License
/** * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) *//*from www. j ava 2 s .c om*/ public void run(IAction action) { StructuredSelection ss = (StructuredSelection) _selection; IJavaElement element = (IJavaElement) ((StructuredSelection) _selection).getFirstElement(); if (!(element instanceof IPackageFragment)) { element = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); } DiagramEditor editor = DiagramEditor.getActiveEditor(); try { editor = DiagramEditor.createEditor(new StructuredSelection(element)); } catch (JavaModelException e) { e.printStackTrace(); } for (IJavaElement element1 : new IterableSelection<IJavaElement>(ss)) { // If current editor's project is not set, add to it. if (editor.getProject() != null) { if (!editor.getProject().getHandleIdentifier() .equals(element1.getJavaProject().getHandleIdentifier())) { // if the editor we found can't hold the current element, // see if an editor exists that can hold the element editor = DiagramEditor.findProjectEditor(element1.getJavaProject()); // if no such editor exists... if (editor == null) { // create one try { editor = DiagramEditor.createEditor(new StructuredSelection(element1)); } catch (JavaModelException e) { e.printStackTrace(); } } } } try { editor.execute(new AddJavaElementCommand(editor, element1)); } catch (GreenException e) { MessageDialog.openError(editor.getSite().getShell(), "Error", e.getLocalizedMessage()); } } editor.refresh(); }
From source file:edu.buffalo.cse.green.editor.DiagramEditor.java
License:Open Source License
/** * Opens a blank editor./*from ww w . ja v a 2s. c o m*/ * * @param element - The element to place the diagram file in. * @return a reference to the opened editor, if successful. */ private static DiagramEditor createEditor(IJavaElement element) throws JavaModelException { IWorkbenchWindow dwindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage workbenchPage = dwindow.getActivePage(); IPackageFragment packFrag = null; IPath elementPath; // get the project itself, if desired (for creating DIA) if (element.isReadOnly() || PlugIn.getBooleanPreference(P_FORCE_DIA_IN_PROJECT)) { element = element.getAncestor(IJavaElement.JAVA_PROJECT); } if (element instanceof IJavaProject) { IJavaProject project = (IJavaProject) element; packFrag = project.getPackageFragments()[0]; } else if (!(element instanceof IPackageFragment)) { packFrag = (IPackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); } else { packFrag = (IPackageFragment) element; } // create a path to the diagram file with current extension elementPath = packFrag.getPath() .append(packFrag.getJavaProject().getElementName() + "." + PluginConstants.GREEN_EXTENSION); try { IFile diaFile = DiagramEditor.getFileNotExist(element.getJavaProject().getProject(), elementPath); DiagramEditor editor = (DiagramEditor) IDE.openEditor(workbenchPage, diaFile, true); ACTIVE_EDITOR = editor; return editor; } catch (CoreException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
From source file:edu.buffalo.cse.green.test.GreenTest.java
License:Open Source License
public void testJML_PackageRename() throws Exception { IPackageFragment packFrag = (IPackageFragment) _sourceClass.getType() .getAncestor(IJavaElement.PACKAGE_FRAGMENT); String renamed = "test"; // rename the package and find the new type model packFrag.rename(renamed, false, PM); EDITOR.refresh();/* www . j a v a 2 s . c o m*/ for (TypeModel model : getTypes()) { if (model.getType().getElementName().equals(DEFAULT_TYPE_NAME)) { _sourceClass = model; break; } } assertEquals(FAIL_EDITOR_REFACTOR, (renamed + "." + DEFAULT_TYPE_NAME), _sourceClass.getType().getFullyQualifiedName()); }
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. * // w w w . j a v a 2 s . co 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.uci.ics.sourcerer.extractor.ast.ClassFileExtractor.java
License:Open Source License
public void extractClassFile(IClassFile classFile) { // Verify that it's a top-level type, or a subtype of a top-level type // try {//from www . j av a2 s .c om // IType declaring = classFile.getType(); // while (declaring != null) { // if (declaring.isLocal() || declaring.isAnonymous()) { // return; // } // declaring = declaring.getDeclaringType(); // } // } catch (JavaModelException e) { // logger.log(Level.SEVERE, "Error in extracting class file", e); // return; // } IJavaElement parent = classFile.getParent(); while (true) { if (parent == null) { logger.log(Level.SEVERE, "Unable to find package for: " + classFile.getElementName()); break; } else if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { // Write the class file name = classFile.getElementName(); path = parent.getElementName() + "." + name; fileWriter.writeClassFile(name, path); try { if (classFile.getType().isAnonymous()) { String fqn = classFile.getType().getFullyQualifiedName(); String containingFqn = fqn.substring(0, fqn.lastIndexOf('$')); relationWriter.writeInside(classFile.getType().getFullyQualifiedName(), containingFqn, path); } else { relationWriter.writeInside(classFile.getType().getFullyQualifiedName(), parent.getElementName(), path); entityWriter.writePackage(parent.getElementName()); } } catch (JavaModelException e) { logger.log(Level.SEVERE, "Error in extracting class file", e); } break; } else { logger.log(Level.SEVERE, classFile.getType().getFullyQualifiedName() + " should be top-level!"); parent = parent.getParent(); } } extractIType(classFile.getType()); name = null; path = null; }
From source file:edu.uci.ics.sourcerer.tools.java.extractor.eclipse.ClassFileExtractor.java
License:Open Source License
public void extractClassFile(IClassFile classFile) { // Verify that it's a top-level type, or a subtype of a top-level type // try {//from w w w.j av a 2 s .c o m // IType declaring = classFile.getType(); // while (declaring != null) { // if (declaring.isLocal() || declaring.isAnonymous()) { // return; // } // declaring = declaring.getDeclaringType(); // } // } catch (JavaModelException e) { // logger.log(Level.SEVERE, "Error in extracting class file", e); // return; // } IJavaElement parent = classFile.getParent(); while (true) { if (parent == null) { logger.log(Level.SEVERE, "Unable to find package for: " + classFile.getElementName()); break; } else if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { // Write the class file name = classFile.getElementName(); path = parent.getElementName() + "." + name; fileWriter.writeFile(File.CLASS, name, null, path); try { if (classFile.getType().isAnonymous()) { String fqn = classFile.getType().getFullyQualifiedName(); String containingFqn = fqn.substring(0, fqn.lastIndexOf('$')); relationWriter.writeRelation(Relation.CONTAINS, containingFqn, classFile.getType().getFullyQualifiedName(), new Location(classFile.getType().getFullyQualifiedName(), path, null, null)); } else { relationWriter.writeRelation(Relation.CONTAINS, parent.getElementName(), classFile.getType().getFullyQualifiedName(), new Location(classFile.getType().getFullyQualifiedName(), path, null, null)); entityWriter.writeEntity(Entity.PACKAGE, parent.getElementName(), 0, null, null); } } catch (JavaModelException e) { logger.log(Level.SEVERE, "Error in extracting class file", e); } break; } else { logger.log(Level.SEVERE, classFile.getType().getFullyQualifiedName() + " should be top-level!"); parent = parent.getParent(); } } extractIType(classFile.getType()); name = null; }
From source file:es.bsc.servicess.ide.PackagingUtils.java
License:Apache License
/** Get all java packages from a source folder * @param sourceDir Java source folder//from w w w. j a va2 s . co m * @return Array of packages included in the source folder */ private static IPackageFragment[] getAllPackageFragments(IPackageFragmentRoot sourceDir) { ArrayList<IPackageFragment> frags = new ArrayList<IPackageFragment>(); try { IJavaElement[] els = sourceDir.getChildren(); if (els != null) { for (IJavaElement e : els) { if (e.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { ICompilationUnit[] cus = ((IPackageFragment) e).getCompilationUnits(); if (cus != null && cus.length > 0) { frags.add((IPackageFragment) e); } } } } else { log.warn("There are no children in generated type"); } } catch (JavaModelException e1) { log.error("Error getting children", e1); e1.printStackTrace(); } return frags.toArray(new IPackageFragment[frags.size()]); }
From source file:es.bsc.servicess.ide.wizards.ServiceSsCommonWizardPage.java
License:Apache License
protected void initPage(IJavaElement elem) { IJavaProject project = null;//from w w w. ja v a 2s . c om IPackageFragment pack = null; IType typeName = null; if (elem != null) { // evaluate the enclosing type project = elem.getJavaProject(); pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT); System.out.println("Element name:" + elem.getElementName() + "type: " + elem.getElementType()); if (elem.getElementType() == JavaElement.COMPILATION_UNIT) { typeName = ((ICompilationUnit) elem).findPrimaryType(); } else if (elem.getElementType() == JavaElement.TYPE) { typeName = (IType) elem; } } setPackageFragment(pack, true); setClassName(typeName, true); }
From source file:es.bsc.servicess.ide.wizards.ServiceSsNewElementWizardPage.java
License:Apache License
protected void initPage(IJavaElement elem) { IJavaProject project = null;// w w w .j ava 2 s. co m IPackageFragment pack = null; IType typeName = null; if (elem != null) { // evaluate the enclosing type project = elem.getJavaProject(); pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT); System.out.println("Element name:" + elem.getElementName()); if (elem.getElementType() == JavaElement.COMPILATION_UNIT) { typeName = ((ICompilationUnit) elem).findPrimaryType(); } else if (elem.getElementType() == JavaElement.TYPE) { typeName = (IType) elem; } } setPackageFragment(pack, true); setClassName(typeName, true); }