/** Creates a new instance of WhereUsedQuery */ public CsmWhereUsedQueryPlugin(WhereUsedQuery refactoring) { this.refactoring = refactoring; startReferenceObject = refactoring.getRefactoringSource().lookup(CsmObject.class); }
@Override public Problem setParameters() { return query.checkParameters(); }
@Override public Problem checkParameters() { return query.fastCheckParameters(); }
private boolean isSearchInComments() { return refactoring.getBooleanValue(WhereUsedQuery.SEARCH_IN_COMMENTS); }
public Problem prepare(RefactoringElementsBag refactoringElementsBag) { if (!refactoring.getBooleanValue(WhereUsedQuery.FIND_REFERENCES)) { return null; } final TreePathHandle treePathHandle = refactoring.getRefactoringSource().lookup(TreePathHandle.class); if (treePathHandle != null && treePathHandle.getKind() == Kind.METHOD) { return prepareMethodRefactoring(refactoringElementsBag, treePathHandle); } if (treePathHandle != null && TreeUtilities.CLASS_TREE_KINDS.contains(treePathHandle.getKind())) { return prepareClassRefactoring(refactoringElementsBag, treePathHandle); } return null; }
@Override public Problem setParameters() { try { // handle parameters defined in panel assert panel != null; query.putValue(WhereUsedQuery.SEARCH_IN_COMMENTS,panel.isSearchInComments()); Collection<CsmProject> prjs = CsmRefactoringUtils.getRelatedCsmProjects(this.origObject, panel.getScopeProject()); CsmProject[] ar = prjs.toArray(new CsmProject[prjs.size()]); query.getContext().add(ar); CsmObject refObj = panel.getReferencedObject(); if (refObj == null) { query.setRefactoringSource(Lookup.EMPTY); } else { query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); } if (panel.isVirtualMethod()) { setForMethod(); return query.checkParameters(); } else if (panel.isClass()) { setForClass(); return query.checkParameters(); } else { return null; } } finally { panel.uninitialize(); } }
public static Collection<RefactoringElementImplementation> getWhereUsed(CsmReference ref, Map<Object, Boolean> params, FiltersDescription filtersDescription) { CsmObject targetObject = ref.getReferencedObject(); Lookup lkp = Lookups.singleton(ref); WhereUsedQuery query = new WhereUsedQuery(lkp); Collection<CsmProject> prjs = CsmRefactoringUtils.getRelatedCsmProjects(targetObject, ref.getContainingFile().getProject()); CsmProject[] ar = prjs.toArray(new CsmProject[prjs.size()]); query.getContext().add(ar); // set parameters for (Map.Entry<Object, Boolean> entry : params.entrySet()) { query.putValue(entry.getKey(), entry.getValue()); } CsmWhereUsedQueryPlugin whereUsedPlugin = new CsmWhereUsedQueryPlugin(query); if (filtersDescription != null) { whereUsedPlugin.addFilters(filtersDescription); } whereUsedPlugin.checkSelectDeclarations(); Collection<RefactoringElementImplementation> elements = whereUsedPlugin.doPrepareElements(targetObject, null); if (filtersDescription != null) { whereUsedPlugin.enableFilters(filtersDescription); } return elements; }
public org.netbeans.modules.refactoring.api.Problem setParameters() { query.putValue(WhereUsedQuery.SEARCH_IN_COMMENTS,panel.isSearchInComments()); if (kind == ElementKind.METHOD) { setForMethod(); return query.checkParameters(); } else if (kind == ElementKind.MODULE || kind == ElementKind.CLASS) { setForClass(); return query.checkParameters(); } else return null; }
private void setForMethod() { if (panel.isMethodFromBaseClass()) { query.setRefactoringSource(Lookups.singleton(panel.getBaseMethod())); } else { query.setRefactoringSource(Lookups.singleton(element)); } query.putValue(WhereUsedQueryConstants.FIND_OVERRIDING_METHODS,panel.isMethodOverriders()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isMethodFindUsages()); }
public WhereUsedUI(RefactoringElementContext context) { this.query = new WhereUsedQuery(Lookups.fixed(context)); }
private void setForClass() { assert panel != null; query.putValue(WhereUsedQueryConstants.FIND_SUBCLASSES,panel.isClassSubTypes()); query.putValue(WhereUsedQueryConstants.FIND_DIRECT_SUBCLASSES,panel.isClassSubTypesDirectOnly()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isClassFindUsages()); }
private boolean isFindSubclasses() { return refactoring.getBooleanValue(WhereUsedQueryConstants.FIND_SUBCLASSES); } private boolean isFindUsages() {
private void setForMethod() { assert panel != null; // if (panel.isMethodFromBaseClass()) { // CsmObject refObj = panel.getBaseMethod(); // if (refObj == null) { // query.setRefactoringSource(Lookup.EMPTY); // } else { // query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); // } // } else { CsmObject refObj = panel.getReferencedObject(); if (refObj == null) { query.setRefactoringSource(Lookup.EMPTY); } else { query.setRefactoringSource(Lookups.singleton(CsmRefactoringUtils.getHandler(refObj))); } // } query.putValue(WhereUsedQueryConstants.FIND_OVERRIDING_METHODS,panel.isMethodOverriders()); query.putValue(WhereUsedQueryConstants.SEARCH_FROM_BASECLASS,panel.isMethodFromBaseClass()); query.putValue(WhereUsedQuery.FIND_REFERENCES,panel.isMethodFindUsages()); }
public WhereUsedQueryUI(CsmObject csmObject) { this.query = new WhereUsedQuery(Lookups.singleton(csmObject)); this.origObject = csmObject; name = getSearchElementName(this.origObject); }
/** Creates a new instance of WhereUsedQuery */ public JsWhereUsedQueryPlugin(WhereUsedQuery refactoring) { this.refactoring = refactoring; this.searchHandle = refactoring.getRefactoringSource().lookup(JsElementCtx.class); targetName = searchHandle.getSimpleName(); }
private boolean isSearchFromBaseClass() { return refactoring.getBooleanValue(WhereUsedQueryConstants.SEARCH_FROM_BASECLASS); }
public WhereUsedQueryUI(JsElementCtx jmiObject) { this.query = new WhereUsedQuery(Lookups.singleton(jmiObject)); // XXX: parsingapi // ClasspathInfo classpathInfoFor = RetoucheUtils.getClasspathInfoFor(jmiObject); // if (classpathInfoFor != null) { // this.query.getContext().add(classpathInfoFor); // } this.element = jmiObject; name = jmiObject.getName(); kind = jmiObject.getKind(); }
public org.netbeans.modules.refactoring.api.Problem checkParameters() { if (kind == ElementKind.METHOD) { setForMethod(); return query.fastCheckParameters(); } else if (kind == ElementKind.CLASS || kind == ElementKind.MODULE) { setForClass(); return query.fastCheckParameters(); } else return null; }
public Problem prepare(RefactoringElementsBag refactoringElements) { if (semafor.get() == null) { semafor.set(new Object()); //TODO: should be improved. Object element = refactoring.getRefactoringSource().lookup(Object.class); LOGGER.fine("Prepare refactoring: " + element); // NOI18N if (element instanceof TreePathHandle) { treePathHandle = (TreePathHandle)element; if (treePathHandle != null && TreeUtilities.CLASS_TREE_KINDS.contains(treePathHandle.getKind())){ Project project = FileOwnerQuery.getOwner(treePathHandle.getFileObject()); if (project != null){ Element resElement = JSFRefactoringUtils.resolveElement(refactoring, treePathHandle); TypeElement type = (TypeElement) resElement; String fqnc = type.getQualifiedName().toString(); List <Occurrences.OccurrenceItem> items = Occurrences.getAllOccurrences(project, fqnc,""); for (Occurrences.OccurrenceItem item : items) { refactoringElements.add(refactoring, new JSFWhereUsedElement(item)); } } } } semafor.set(null); } return null; }