List of usage examples for org.eclipse.jdt.core IJavaElement COMPILATION_UNIT
int COMPILATION_UNIT
To view the source code for org.eclipse.jdt.core IJavaElement COMPILATION_UNIT.
Click Source Link
From source file:org.eclipse.xtext.common.types.ui.refactoring.JvmRenameRefactoringProvider.java
License:Open Source License
/** * Copied from {@link org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode}. There does not seem to be a * clean way to initialize a JDT refactoring from the outside. *///from ww w .ja v a2s. c o m public RenameJavaElementDescriptor createRenameDescriptor(IJavaElement javaElement, String newName) throws JavaModelException { String contributionId; // see RefactoringExecutionStarter#createRenameSupport(..): int elementType = javaElement.getElementType(); switch (elementType) { case IJavaElement.JAVA_PROJECT: contributionId = IJavaRefactorings.RENAME_JAVA_PROJECT; break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: contributionId = IJavaRefactorings.RENAME_SOURCE_FOLDER; break; case IJavaElement.PACKAGE_FRAGMENT: contributionId = IJavaRefactorings.RENAME_PACKAGE; break; case IJavaElement.COMPILATION_UNIT: contributionId = IJavaRefactorings.RENAME_COMPILATION_UNIT; break; case IJavaElement.TYPE: contributionId = IJavaRefactorings.RENAME_TYPE; break; case IJavaElement.METHOD: final IMethod method = (IMethod) javaElement; if (method.isConstructor()) return createRenameDescriptor(method.getDeclaringType(), newName); else contributionId = IJavaRefactorings.RENAME_METHOD; break; case IJavaElement.FIELD: IField field = (IField) javaElement; if (field.isEnumConstant()) contributionId = IJavaRefactorings.RENAME_ENUM_CONSTANT; else contributionId = IJavaRefactorings.RENAME_FIELD; break; case IJavaElement.TYPE_PARAMETER: contributionId = IJavaRefactorings.RENAME_TYPE_PARAMETER; break; case IJavaElement.LOCAL_VARIABLE: contributionId = IJavaRefactorings.RENAME_LOCAL_VARIABLE; break; default: return null; } RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) RefactoringCore .getRefactoringContribution(contributionId).createDescriptor(); descriptor.setJavaElement(javaElement); descriptor.setNewName(newName); if (elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT) descriptor.setUpdateReferences(true); IDialogSettings javaSettings = JavaPlugin.getDefault().getDialogSettings(); IDialogSettings refactoringSettings = javaSettings.getSection(RefactoringWizardPage.REFACTORING_SETTINGS); //TODO: undocumented API if (refactoringSettings == null) { refactoringSettings = javaSettings.addNewSection(RefactoringWizardPage.REFACTORING_SETTINGS); } switch (elementType) { case IJavaElement.METHOD: case IJavaElement.FIELD: descriptor.setDeprecateDelegate(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_DEPRECATION)); descriptor.setKeepOriginal(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING)); } switch (elementType) { case IJavaElement.TYPE: // case IJavaElement.COMPILATION_UNIT: // TODO descriptor.setUpdateSimilarDeclarations( refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS)); int strategy; try { strategy = refactoringSettings.getInt(RenameRefactoringWizard.TYPE_SIMILAR_MATCH_STRATEGY); } catch (NumberFormatException e) { strategy = RenamingNameSuggestor.STRATEGY_EXACT; } descriptor.setMatchStrategy(strategy); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: descriptor.setUpdateHierarchy( refactoringSettings.getBoolean(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES)); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: String fileNamePatterns = refactoringSettings.get(RenameRefactoringWizard.QUALIFIED_NAMES_PATTERNS); if (fileNamePatterns != null && fileNamePatterns.length() != 0) { descriptor.setFileNamePatterns(fileNamePatterns); boolean updateQualifiedNames = refactoringSettings .getBoolean(RenameRefactoringWizard.UPDATE_QUALIFIED_NAMES); descriptor.setUpdateQualifiedNames(updateQualifiedNames); // fShowPreview|= updateQualifiedNames; } } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: case IJavaElement.FIELD: boolean updateTextualOccurrences = refactoringSettings .getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES); descriptor.setUpdateTextualOccurrences(updateTextualOccurrences); // fShowPreview|= updateTextualOccurrences; } switch (elementType) { case IJavaElement.FIELD: descriptor .setRenameGetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER)); descriptor .setRenameSetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER)); } return descriptor; }
From source file:org.eclipselabs.stlipse.cache.BeanPropertyCache.java
License:Open Source License
protected static void parseSource(IJavaProject project, final IType type, final String qualifiedName, final Map<String, String> readableFields, final Map<String, String> writableFields, final Map<String, EventProperty> eventHandlers) throws JavaModelException { ICompilationUnit compilationUnit = (ICompilationUnit) type.getAncestor(IJavaElement.COMPILATION_UNIT); ASTParser parser = ASTParser.newParser(AST.JLS4); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(compilationUnit);/*from w ww . j a va2s. c o m*/ parser.setResolveBindings(true); // parser.setIgnoreMethodBodies(true); CompilationUnit astUnit = (CompilationUnit) parser.createAST(null); astUnit.accept( new BeanPropertyVisitor(project, qualifiedName, readableFields, writableFields, eventHandlers)); }
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. ja v a 2s .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.changedistiller.job.PackageFragmentDistiller.java
License:Apache License
/** * {@inheritDoc}/*from w w w .j a v a 2 s . com*/ */ @Override protected IStatus run(IProgressMonitor monitor) { boolean jobCanceled = false; boolean jobError = false; IStatus result = Status.OK_STATUS; try { monitor.beginTask("Distill package", WORK); IJavaElement[] javaElements = fFragment.getChildren(); int tick = WORK / javaElements.length; // process each Java element in package fragment. for (int i = 0; (i < javaElements.length) && !jobError && !jobCanceled && !monitor.isCanceled(); i++) { // compilation units are distilled in a separate job if (javaElements[i].getElementType() == IJavaElement.COMPILATION_UNIT) { SourceDistiller job = new SourceDistiller("Process class " + javaElements[i].getElementName()); List<Revision> revisions = ChangeDistillerPlugin.getPersistencyProvider().query( "from Revision as r where r.file.path like '%/" + javaElements[i].getElementName() + "' and r.number not like '1.%.%'" + " order by r.report.creationTime asc", Revision.class); job.setProject(fFragment.getJavaProject().getProject()); job.setRevisionsToDistill(revisions); job.setProgressGroup(monitor, SourceDistiller.WORK); job.setPriority(Job.LONG); monitor.setTaskName(job.getName() + " (" + (i + 1) + "/" + javaElements.length + ")"); job.schedule(); job.join(); jobCanceled = job.getResult().getSeverity() == IStatus.CANCEL; jobError = job.getResult().getSeverity() == IStatus.ERROR; if (jobError) { result = job.getResult(); } if (job.getResult().getSeverity() == IStatus.INFO) { ChangeDistillerPlugin.getDefault().addToFailureSet(javaElements[i].getElementName()); } } monitor.worked(tick); } } catch (InterruptedException e) { e.printStackTrace(); } catch (JavaModelException e) { e.printStackTrace(); } if (monitor.isCanceled() || jobCanceled) { result = Status.CANCEL_STATUS; } return result; }
From source file:org.evolizer.famix.importer.ProjectParser.java
License:Apache License
/** * Dispatcher method for handling selected Java elements. * //from w ww . j a v a2 s . co m * @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.TestExtensionJob.java
License:Open Source License
@Override protected IStatus run(IProgressMonitor monitor) { IStatus status = super.run(monitor); newTests.clear();/*w w w .j a v a 2 s .c om*/ IJavaElement element = JavaCore.create(target); if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { ICompilationUnit compilationUnit = (ICompilationUnit) element; CodeFormatter formatter = ToolFactory.createCodeFormatter(null); try { if (compilationUnit.getTypes().length == 0) { System.out.println("The compilation unit is empty :|"); return status; } IType classType = compilationUnit.getTypes()[0]; // new tests loadTestSuiteContent(getTestClassName()); for (ImportDeclaration newImport : newImports) { if (!hasImport(compilationUnit, newImport)) { int flag = newImport.isStatic() ? Flags.AccStatic : Flags.AccDefault; String strImport = newImport.getName().toString(); // Names of onDemand import declarations do not contain the '*' if (newImport.isOnDemand()) strImport += ".*"; compilationUnit.createImport(strImport, null, flag, null); } } for (MethodDeclaration newMethod : newMethods) { if (hasMethod(classType, newMethod.getName().toString())) { System.out.println("Test suite already contains method called: " + newMethod.getName()); int num = 1; newMethod.setName( newMethod.getAST().newSimpleName(newMethod.getName().toString() + "_" + num)); while (hasMethod(classType, newMethod.getName().toString())) { num += 1; String name = newMethod.getName().toString(); newMethod.setName(newMethod.getAST() .newSimpleName(name.substring(0, name.length() - 2) + "_" + num)); } } String testContent = newMethod.toString(); IMethod methodToAdd = classType.createMethod(testContent, null, false, new NullProgressMonitor()); ISourceRange range = methodToAdd.getSourceRange(); TextEdit indent_edit = formatter.format(CodeFormatter.K_COMPILATION_UNIT, classType.getCompilationUnit().getSource(), range.getOffset(), range.getLength(), 0, null); classType.getCompilationUnit().applyTextEdit(indent_edit, null); newTests.add(newMethod.getName().toString()); } classType.getCompilationUnit().commitWorkingCopy(false, null); // write markers writeMarkersExtendedTestSuite(); } catch (JavaModelException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return status; }
From source file:org.fusesource.ide.jvmmonitor.internal.ui.properties.cpu.actions.AddPackageDialog.java
License:Open Source License
/** * Adds the package.//from w ww .jav a2 s. c o m * * @param packageElements * The package elements into which package is added * @param element * The element which contains package element to be added * @throws JavaModelException */ private void addPackage(Set<String> packageElements, IJavaElement element) throws JavaModelException { // java source folder if (element instanceof IPackageFragmentRoot) { int kind = ((IPackageFragmentRoot) element).getKind(); if (kind == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] children = ((IPackageFragmentRoot) element).getChildren(); for (IJavaElement child : children) { addPackage(packageElements, child); } } } // java package if (element instanceof IPackageFragment) { IJavaElement[] children = ((IPackageFragment) element).getChildren(); for (IJavaElement child : children) { if (IJavaElement.COMPILATION_UNIT == child.getElementType()) { packageElements.add(element.getElementName()); break; } } } }
From source file:org.grails.ide.eclipse.editor.groovy.elements.GrailsProject.java
License:Open Source License
public ServiceClass getServiceClass(IType target) { IJavaElement cu = target.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu instanceof GroovyCompilationUnit) { GroovyCompilationUnit gcu = (GroovyCompilationUnit) cu; return getServiceClass(gcu); }/* www.ja v a 2s .c o m*/ return null; }
From source file:org.grails.ide.eclipse.editor.groovy.elements.GrailsProject.java
License:Open Source License
public TestClass getTestClass(IType target) { IJavaElement cu = target.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu instanceof GroovyCompilationUnit) { GroovyCompilationUnit gcu = (GroovyCompilationUnit) cu; return getTestClass(gcu); }/*www . j a v a2s .c om*/ return null; }
From source file:org.grails.ide.eclipse.editor.groovy.elements.GrailsProject.java
License:Open Source License
public ControllerClass getControllerClass(IType target) { IJavaElement cu = target.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu instanceof GroovyCompilationUnit) { GroovyCompilationUnit gcu = (GroovyCompilationUnit) cu; return getControllerClass(gcu); }/*w w w .ja v a2 s .co m*/ return null; }