List of usage examples for org.eclipse.jdt.core.search SearchPattern R_REGEXP_MATCH
int R_REGEXP_MATCH
To view the source code for org.eclipse.jdt.core.search SearchPattern R_REGEXP_MATCH.
Click Source Link
From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidPackageRenameParticipant.java
License:Open Source License
@Override protected boolean initialize(final Object element) { mIsPackage = false;/* w w w. ja va 2s.co m*/ try { if (element instanceof IPackageFragment) { mPackageFragment = (IPackageFragment) element; if (!mPackageFragment.containsJavaResources()) return false; IJavaProject javaProject = (IJavaProject) mPackageFragment.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IResource manifestResource = project .findMember(AdtConstants.WS_SEP + SdkConstants.FN_ANDROID_MANIFEST_XML); if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) { RefactoringUtil.logInfo("Invalid or missing the " + SdkConstants.FN_ANDROID_MANIFEST_XML + " in the " + project.getName() + " project."); return false; } mAndroidManifest = (IFile) manifestResource; String packageName = mPackageFragment.getElementName(); ManifestData manifestData; manifestData = AndroidManifestHelper.parseForData(mAndroidManifest); if (manifestData == null) { return false; } mAppPackage = manifestData.getPackage(); mOldName = packageName; mNewName = getArguments().getNewName(); if (mOldName == null || mNewName == null) { return false; } if (RefactoringUtil.isRefactorAppPackage() && mAppPackage != null && mAppPackage.equals(packageName)) { mIsPackage = true; } mAndroidElements = addAndroidElements(); try { final IType type = javaProject.findType(SdkConstants.CLASS_VIEW); SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_REGEXP_MATCH); IJavaSearchScope scope = SearchEngine .createJavaSearchScope(new IJavaElement[] { mPackageFragment }); final HashSet<IType> elements = new HashSet<IType>(); SearchRequestor requestor = new SearchRequestor() { @Override public void acceptSearchMatch(SearchMatch match) throws CoreException { Object elem = match.getElement(); if (elem instanceof IType) { IType eType = (IType) elem; IType[] superTypes = JavaModelUtil.getAllSuperTypes(eType, new NullProgressMonitor()); for (int i = 0; i < superTypes.length; i++) { if (superTypes[i].equals(type)) { elements.add(eType); break; } } } } }; SearchEngine searchEngine = new SearchEngine(); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null); List<String> views = new ArrayList<String>(); for (IType elem : elements) { views.add(elem.getFullyQualifiedName()); } if (views.size() > 0) { String[] classNames = views.toArray(new String[0]); addLayoutChanges(project, classNames); } } catch (CoreException e) { RefactoringUtil.log(e); } return mIsPackage || mAndroidElements.size() > 0 || mFileChanges.size() > 0; } } catch (JavaModelException ignore) { } return false; }
From source file:rs.snpe.android.refactoring.core.AndroidPackageRenameParticipant.java
License:Open Source License
@Override protected boolean initialize(final Object element) { isPackage = false;//from w w w. j a v a 2 s.c om try { if (element instanceof IPackageFragment) { packageFragment = (IPackageFragment) element; if (!packageFragment.containsJavaResources()) return false; IJavaProject javaProject = (IJavaProject) packageFragment.getAncestor(IJavaElement.JAVA_PROJECT); IProject project = javaProject.getProject(); IResource manifestResource = project .findMember(AndroidConstants.WS_SEP + AndroidConstants.FN_ANDROID_MANIFEST); if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } androidManifest = (IFile) manifestResource; String packageName = packageFragment.getElementName(); AndroidManifestParser parser; try { parser = AndroidManifestParser.parseForData(androidManifest); } catch (CoreException e) { Activator.logInfo("Invalid or missing the " + AndroidConstants.FN_ANDROID_MANIFEST + " in the " + project.getName() + " project."); return false; } javaPackage = parser.getPackage(); oldName = packageName; newName = getArguments().getNewName(); if (oldName == null || newName == null) { return false; } if (javaPackage != null && javaPackage.equals(packageName)) { isPackage = true; } androidElements = addAndroidElements(); try { final IType type = javaProject.findType(AndroidConstants.CLASS_VIEW); SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_REGEXP_MATCH); IJavaSearchScope scope = SearchEngine .createJavaSearchScope(new IJavaElement[] { packageFragment }); final HashSet<IType> elements = new HashSet<IType>(); SearchRequestor requestor = new SearchRequestor() { public void acceptSearchMatch(SearchMatch match) throws CoreException { Object elem = match.getElement(); if (elem instanceof IType) { IType eType = (IType) elem; IType[] superTypes = JavaModelUtil.getAllSuperTypes(eType, new NullProgressMonitor()); for (int i = 0; i < superTypes.length; i++) { if (superTypes[i].equals(type)) { elements.add(eType); break; } } } } }; SearchEngine searchEngine = new SearchEngine(); searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null); List<String> views = new ArrayList<String>(); for (IType elem : elements) { views.add(elem.getFullyQualifiedName()); } if (views.size() > 0) { String[] classNames = views.toArray(new String[0]); addLayoutChanges(project, classNames); } } catch (CoreException e) { Activator.log(e); } return isPackage || androidElements.size() > 0 || fileChanges.size() > 0; } } catch (JavaModelException ignore) { } return false; }