List of usage examples for org.eclipse.jdt.core.search IJavaSearchConstants PACKAGE
int PACKAGE
To view the source code for org.eclipse.jdt.core.search IJavaSearchConstants PACKAGE.
Click Source Link
From source file:bndtools.editor.pkgpatterns.PkgPatternsProposalProvider.java
License:Open Source License
@Override protected Collection<? extends IContentProposal> doGenerateProposals(String contents, int position) { String prefix = contents.substring(0, position); final int replaceFromPos; if (prefix.startsWith("!")) { //$NON-NLS-1$ prefix = prefix.substring(1);//www.ja va2 s . co m replaceFromPos = 1; } else { replaceFromPos = 0; } Comparator<PkgPatternProposal> comparator = new Comparator<PkgPatternProposal>() { @Override public int compare(PkgPatternProposal o1, PkgPatternProposal o2) { int result = o1.getPackageFragment().getElementName() .compareTo(o2.getPackageFragment().getElementName()); if (result == 0) { result = Boolean.valueOf(o1.isWildcard()).compareTo(Boolean.valueOf(o2.isWildcard())); } return result; } }; final TreeSet<PkgPatternProposal> result = new TreeSet<PkgPatternProposal>(comparator); final IJavaSearchScope scope = SearchEngine .createJavaSearchScope(new IJavaElement[] { searchContext.getJavaProject() }); final SearchPattern pattern = SearchPattern.createPattern("*" + prefix + "*", IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_PATTERN_MATCH); final SearchRequestor requestor = new SearchRequestor() { @Override public void acceptSearchMatch(SearchMatch match) throws CoreException { IPackageFragment pkg = (IPackageFragment) match.getElement(); // Reject the default package and any package starting with // "java." since these cannot be imported if (pkg.isDefaultPackage() || pkg.getElementName().startsWith("java.")) return; result.add(new PkgPatternProposal(pkg, false, replaceFromPos)); result.add(new PkgPatternProposal(pkg, true, replaceFromPos)); } }; IRunnableWithProgress runnable = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { new SearchEngine().search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } } }; try { IRunnableContext runContext = searchContext.getRunContext(); if (runContext != null) { runContext.run(false, false, runnable); } else { runnable.run(new NullProgressMonitor()); } return result; } catch (InvocationTargetException e) { logger.logError("Error searching for packages.", e); return Collections.emptyList(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return Collections.emptyList(); } }
From source file:bndtools.internal.pkgselection.JavaSearchScopePackageLister.java
License:Open Source License
@Override public String[] getPackages(boolean includeNonSource, IPackageFilter filter) throws PackageListException { final List<IJavaElement> packageList = new LinkedList<IJavaElement>(); final SearchRequestor requestor = new SearchRequestor() { @Override//w w w. j ava 2 s . c om public void acceptSearchMatch(SearchMatch match) throws CoreException { IJavaElement enclosingElement = (IJavaElement) match.getElement(); String name = enclosingElement.getElementName(); if (name.length() > 0) { // Do not include default pkg packageList.add(enclosingElement); } } }; final SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_PATTERN_MATCH | SearchPattern.R_CASE_SENSITIVE); IRunnableWithProgress operation = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { new SearchEngine().search(pattern, SearchUtils.getDefaultSearchParticipants(), scope, requestor, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } } }; try { runContext.run(true, true, operation); } catch (InvocationTargetException e) { throw new PackageListException(e.getCause()); } catch (InterruptedException e) { throw new PackageListException("Operation interrupted"); } // Remove non-source and excludes Set<String> packageNames = new LinkedHashSet<String>(); for (Iterator<IJavaElement> iter = packageList.iterator(); iter.hasNext();) { boolean omit = false; IJavaElement element = iter.next(); if (!includeNonSource) { IPackageFragment pkgFragment = (IPackageFragment) element; try { if (pkgFragment.getCompilationUnits().length == 0) { omit = true; } } catch (JavaModelException e) { throw new PackageListException(e); } } if (filter != null && !filter.select(element.getElementName())) { omit = true; } if (!omit) { packageNames.add(element.getElementName()); } } return packageNames.toArray(new String[0]); }
From source file:ca.mcgill.cs.swevo.jayfx.FastConverter.java
License:Open Source License
/** * Returns a Java element associated with pElement. This method cannot track * local or anonymous types or any of their members, primitive types, or * array types. It also cannot find initializers, default constructors that * are not explicitly declared, or non-top-level types outside the project * analyzed. If such types are passed as argument, a ConversionException is * thrown.// w w w. j a v a 2s. c o m * * @param pElement * The element to convert. Never null. * @return Never null. * @throws ConversionException * If the element cannot be */ public IJavaElement getJavaElement(final IElement pElement) throws ConversionException { // assert( pElement!= null ); IJavaElement lReturn = null; if (pElement.getCategory() == Category.CLASS) { lReturn = this.aTypeMap.get(pElement.getId()); if (lReturn == null) // TODO Make this smarter in the case of multiple projects if (this.aTypeMap.size() > 0) try { lReturn = this.aTypeMap.values().iterator().next().getJavaProject() .findType(pElement.getId()); } catch (final JavaModelException pException) { // noting } if (lReturn == null) throw new ConversionException("Cannot find type " + pElement); } else if (pElement.getCategory() == Category.PACKAGE) { String id = pElement.getId(); final SearchPattern pattern = SearchPattern.createPattern(id, IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE); Collection<SearchMatch> matches = SearchEngineUtil.search(pattern, null); if (matches.isEmpty()) throw new ConversionException("Cannot find type " + pElement); else lReturn = (IJavaElement) matches.iterator().next().getElement(); } else { final IJavaElement lDeclaringClass = this.getJavaElement(pElement.getDeclaringClass()); if (pElement.getCategory() == Category.FIELD) { lReturn = ((IType) lDeclaringClass).getField(((FieldElement) pElement).getSimpleName()); if (lReturn == null) throw new ConversionException("Cannot find field " + pElement); } else if (pElement.getCategory() == Category.METHOD) try { final IMethod[] lMethods = ((IType) lDeclaringClass).getMethods(); lReturn = this.findMethod((MethodElement) pElement, lMethods); // if( lReturn == null && // isDefaultConstructor((MethodElement)pElement)) { // // } if (lReturn == null) throw new ConversionException("Cannot find method " + pElement); } catch (final JavaModelException pException) { throw new ConversionException("Cannot convert method " + pElement); } else throw new ConversionException("Unsupported element type " + pElement.getClass().getName()); } // assert( lReturn != null ); return lReturn; }
From source file:com.iw.plugins.spindle.ant.AntScriptGenerator.java
License:Mozilla Public License
/** * //from w ww.j a v a 2 s . c om */ private void harvestServletJars(IProgressMonitor monitor) { try { IJavaProject jproject = fTapestryProject.getJavaProject(); if (jproject == null) return; // let's locate all occurances of a package in the project classpath that // we know should be // from the java servlet jar.. SearchPattern pattern = SearchPattern.createPattern("javax.servlet.http", IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH); IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { jproject }); //we could get lots of hits for various reasons so lets collect the ones // we are interested in.. //we collect the roots (jars) that contain the package of interest. final List roots = new ArrayList(); SearchRequestor requestor = new SearchRequestor() { public void acceptSearchMatch(SearchMatch match) throws CoreException { //only keep the roots that are in jar files and that we have not // already seen! Object element = match.getElement(); if (element instanceof IPackageFragment) { IPackageFragment frag = (IPackageFragment) element; if (frag.getKind() == IPackageFragmentRoot.K_BINARY) { IPackageFragmentRoot root = (IPackageFragmentRoot) frag.getParent(); if (!roots.contains(root)) roots.add(root); } } } }; // Search - do the search SearchEngine searchEngine = new SearchEngine(); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, monitor); if (!roots.isEmpty()) fServletAPIRoots = roots; } catch (CoreException e) { UIPlugin.log(e); } }
From source file:com.iw.plugins.spindle.util.FieldBindingsPreferencePage.java
License:Mozilla Public License
public static IJavaElement[] unfold(String folded) { if (folded != null && !"".equals(folded.trim())) { ISearchPattern searchPattern = null; StringTokenizer tok = new StringTokenizer(folded, ","); while (tok.hasMoreTokens()) { String fragment = tok.nextToken(); if (searchPattern == null) { searchPattern = SearchEngine.createSearchPattern(fragment, IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, false); } else { searchPattern = SearchEngine.createOrSearchPattern(searchPattern, SearchEngine.createSearchPattern(fragment, IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, false)); }/*from w ww . ja v a2 s . co m*/ } try { UnfoldSearchCollector collector = new UnfoldSearchCollector(); long start = new Date().getTime(); new SearchEngine().search(TapestryPlugin.getDefault().getWorkspace(), searchPattern, SearchEngine.createWorkspaceScope(), collector); return collector.getFoundElements(); } catch (JavaModelException jmex) { jmex.printStackTrace(); } } return new IJavaElement[0]; }
From source file:com.siteview.mde.internal.ui.search.dependencies.AddNewDependenciesOperation.java
License:Open Source License
protected void findSecondaryDependencies(String[] secDeps, Set ignorePkgs, Map newDeps, IBundle bundle, boolean useRequireBundle, IProgressMonitor monitor) { IJavaProject jProject = JavaCore.create(fProject); SearchEngine engine = new SearchEngine(); if (ignorePkgs == null) ignorePkgs = new HashSet(2); monitor.beginTask(MDEUIMessages.AddNewDependenciesOperation_searchProject, secDeps.length); for (int j = 0; j < secDeps.length; j++) { try {/* ww w. j a v a2s . c o m*/ if (monitor.isCanceled()) return; IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1); String pluginId = secDeps[j]; IMonitorModelBase base = MonitorRegistry.findModel(secDeps[j]); if (base != null) { ExportPackageDescription[] exported = findExportedPackages(base.getBundleDescription()); IJavaSearchScope searchScope = PluginJavaSearchUtil.createSeachScope(jProject); subMonitor.beginTask( NLS.bind(MDEUIMessages.AddNewDependenciesOperation_searchForDependency, pluginId), exported.length); for (int i = 0; i < exported.length; i++) { String pkgName = exported[i].getName(); if (!ignorePkgs.contains(pkgName)) { ReferenceFinder requestor = new ReferenceFinder(); engine.search( SearchPattern.createPattern(pkgName, IJavaSearchConstants.PACKAGE, IJavaSearchConstants.REFERENCES, SearchPattern.R_EXACT_MATCH), new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, searchScope, requestor, null); if (requestor.foundMatches()) { fNewDependencies = true; ignorePkgs.add(pkgName); newDeps.put(exported[i], pluginId); if (useRequireBundle) { // since using require-bundle, rest of packages will be available when bundle is added. for (; i < exported.length; i++) ignorePkgs.add(exported[i].getName()); } } } subMonitor.worked(1); } } subMonitor.done(); } catch (CoreException e) { monitor.done(); } } }
From source file:com.siteview.mde.internal.ui.search.dependencies.GatherUnusedDependenciesOperation.java
License:Open Source License
private boolean provideJavaClasses(ImportPackageObject pkg, IProgressMonitor monitor) { try {/*from w w w . j a va 2s .com*/ IProject project = fModel.getUnderlyingResource().getProject(); if (!project.hasNature(JavaCore.NATURE_ID)) return false; monitor.beginTask("", 1); //$NON-NLS-1$ IJavaProject jProject = JavaCore.create(project); SearchEngine engine = new SearchEngine(); IJavaSearchScope searchScope = PluginJavaSearchUtil.createSeachScope(jProject); Requestor requestor = new Requestor(); String packageName = pkg.getName(); engine.search( SearchPattern.createPattern(packageName, IJavaSearchConstants.PACKAGE, IJavaSearchConstants.REFERENCES, SearchPattern.R_EXACT_MATCH), new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, searchScope, requestor, new SubProgressMonitor(monitor, 1)); if (requestor.foundMatches()) return true; } catch (CoreException e) { } finally { monitor.done(); } return false; }
From source file:edu.brown.cs.bubbles.bedrock.BedrockJava.java
License:Open Source License
/********************************************************************************/ void handleJavaSearch(String proj, String bid, String patstr, String foritems, boolean defs, boolean refs, boolean impls, boolean equiv, boolean exact, boolean system, IvyXmlWriter xw) throws BedrockException { IJavaProject ijp = getJavaProject(proj); our_plugin.waitForEdits();//from w ww .ja va 2 s.c om int forflags = 0; if (foritems == null) forflags = IJavaSearchConstants.TYPE; else if (foritems.equalsIgnoreCase("CLASS")) forflags = IJavaSearchConstants.CLASS; else if (foritems.equalsIgnoreCase("INTERFACE")) forflags = IJavaSearchConstants.INTERFACE; else if (foritems.equalsIgnoreCase("ENUM")) forflags = IJavaSearchConstants.ENUM; else if (foritems.equalsIgnoreCase("ANNOTATION")) forflags = IJavaSearchConstants.ANNOTATION_TYPE; else if (foritems.equalsIgnoreCase("CLASS&ENUM")) forflags = IJavaSearchConstants.CLASS_AND_ENUM; else if (foritems.equalsIgnoreCase("CLASS&INTERFACE")) forflags = IJavaSearchConstants.CLASS_AND_INTERFACE; else if (foritems.equalsIgnoreCase("TYPE")) forflags = IJavaSearchConstants.TYPE; else if (foritems.equalsIgnoreCase("FIELD")) forflags = IJavaSearchConstants.FIELD; else if (foritems.equalsIgnoreCase("METHOD")) forflags = IJavaSearchConstants.METHOD; else if (foritems.equalsIgnoreCase("CONSTRUCTOR")) forflags = IJavaSearchConstants.CONSTRUCTOR; else if (foritems.equalsIgnoreCase("PACKAGE")) forflags = IJavaSearchConstants.PACKAGE; else if (foritems.equalsIgnoreCase("FIELDWRITE")) forflags = IJavaSearchConstants.FIELD | IJavaSearchConstants.WRITE_ACCESSES; else if (foritems.equalsIgnoreCase("FIELDREAD")) forflags = IJavaSearchConstants.FIELD | IJavaSearchConstants.READ_ACCESSES; else forflags = IJavaSearchConstants.TYPE; int limit = 0; if (defs && refs) limit = IJavaSearchConstants.ALL_OCCURRENCES; else if (defs) limit = IJavaSearchConstants.DECLARATIONS; else if (refs) limit = IJavaSearchConstants.REFERENCES; else if (impls) limit = IJavaSearchConstants.IMPLEMENTORS; int mrule = SearchPattern.R_PATTERN_MATCH; if (equiv) mrule = SearchPattern.R_EQUIVALENT_MATCH; else if (exact) mrule = SearchPattern.R_EXACT_MATCH; SearchPattern pat = SearchPattern.createPattern(patstr, forflags, limit, mrule); if (pat == null) { throw new BedrockException( "Invalid java search pattern `" + patstr + "' " + forflags + " " + limit + " " + mrule); } FindFilter filter = null; if (forflags == IJavaSearchConstants.METHOD) { String p = patstr; int idx = p.indexOf("("); if (idx > 0) p = p.substring(0, idx); idx = p.lastIndexOf("."); if (idx > 0) { if (defs) filter = new ClassFilter(p.substring(0, idx)); } } // TODO: create scope for only user's items IJavaElement[] pelt; if (ijp != null) pelt = new IJavaElement[] { ijp }; else pelt = getAllProjects(); ICompilationUnit[] working = getWorkingElements(pelt); for (ICompilationUnit xcu : working) { try { BedrockPlugin.logD("WORK WITH " + xcu.isWorkingCopy() + " " + xcu.getPath() + xcu.getSourceRange()); } catch (JavaModelException e) { BedrockPlugin.logD("WORK WITH ERROR: " + e); } } IJavaSearchScope scp = null; int fg = IJavaSearchScope.SOURCES | IJavaSearchScope.REFERENCED_PROJECTS; if (system) { fg |= IJavaSearchScope.SYSTEM_LIBRARIES | IJavaSearchScope.APPLICATION_LIBRARIES; scp = SearchEngine.createWorkspaceScope(); } else { scp = SearchEngine.createJavaSearchScope(pelt, fg); } SearchEngine se = new SearchEngine(working); SearchParticipant[] parts = new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }; FindHandler fh = new FindHandler(xw, filter, system); BedrockPlugin.logD("BEGIN SEARCH " + pat); BedrockPlugin.logD("SEARCH SCOPE " + system + " " + fg + " " + scp); try { se.search(pat, parts, scp, fh, null); } catch (Throwable e) { throw new BedrockException("Problem doing Java search: " + e, e); } }
From source file:net.harawata.mybatipse.mybatis.XmlCompletionProposalComputer.java
License:Open Source License
private void searchPackage(String matchString, IJavaSearchScope scope, SearchRequestor requestor) throws CoreException { SearchPattern pattern = SearchPattern.createPattern(matchString + "*", IJavaSearchConstants.PACKAGE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_PREFIX_MATCH); SearchEngine searchEngine = new SearchEngine(); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null);// w ww .j a v a 2 s. c o m }
From source file:net.sourceforge.metrics.calculators.RMartinCouplings.java
License:Open Source License
private Metric calculateEfferentCoupling(PackageFragmentMetrics source) { SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.PACKAGE, IJavaSearchConstants.REFERENCES, SearchPattern.R_PATTERN_MATCH); IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { source.getJavaElement() }); SearchEngine searchEngine = new SearchEngine(); try {/*from w w w .j a v a2 s . c o m*/ EfferentCollector c = new EfferentCollector(source); // searchEngine.search(ResourcesPlugin.getWorkspace(), pattern, // scope, c); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, c, null); return c.getResult(); } catch (CoreException e) { Log.logError("Error calculating Efferent Coupling", e); return null; } }