public void createReferenceUpdates(ElementRenameArguments elementRenameArguments, ResourceSet resourceSet, IRefactoringUpdateAcceptor updateAcceptor, IProgressMonitor monitor) { SubMonitor progress = SubMonitor.convert(monitor, "Updating references", 100); ResourceAccess resourceAccess = resourceAccessProvider.get(); resourceAccess.registerResourceSet(resourceSet); ReferenceDescriptionAcceptor referenceDescriptionAcceptor = createFindReferenceAcceptor(updateAcceptor); referenceFinder.findAllReferences(elementRenameArguments.getRenamedElementURIs(), resourceAccess, referenceDescriptionAcceptor, progress.newChild(2)); Multimap<IReferenceUpdater, IReferenceDescription> updater2descriptions = referenceDescriptionAcceptor .getReferenceUpdater2ReferenceDescriptions(); SubMonitor updaterProgress = progress.newChild(98).setWorkRemaining(updater2descriptions.keySet().size()); for (IReferenceUpdater referenceUpdater : updater2descriptions.keySet()) { createReferenceUpdates(referenceUpdater, elementRenameArguments, updater2descriptions.get(referenceUpdater), updateAcceptor, updaterProgress); } }
protected void createReferenceUpdates(IReferenceUpdater referenceUpdater, ElementRenameArguments elementRenameArguments, Iterable<IReferenceDescription> referenceDescriptions, IRefactoringUpdateAcceptor updateAcceptor, SubMonitor updaterProgress) { if (updaterProgress.isCanceled()) return; referenceUpdater.createReferenceUpdates(elementRenameArguments, referenceDescriptions, updateAcceptor, updaterProgress.newChild(1)); }
public void accept(IReferenceDescription referenceDescription) { if (referenceDescription.getSourceEObjectUri() == null || referenceDescription.getTargetEObjectUri() == null || referenceDescription.getEReference() == null) { handleCorruptReferenceDescription(referenceDescription, status); } else { URI sourceResourceURI = referenceDescription.getSourceEObjectUri().trimFragment(); IReferenceUpdater referenceUpdater = getReferenceUpdater(sourceResourceURI); if (referenceUpdater == null) handleNoReferenceUpdater(sourceResourceURI, status); else updater2refs.put(referenceUpdater, referenceDescription); } }
protected IReferenceUpdater getReferenceUpdater(URI sourceResourceURI) { //TODO Why do we cache the IReferenceUpdater here? IResourceServiceProvider resourceServiceProvider = resourceServiceProviderRegistry .getResourceServiceProvider(sourceResourceURI); if (resourceServiceProvider == null) return null; IReferenceUpdater referenceUpdater = provider2updater.get(resourceServiceProvider); if (referenceUpdater == null) { referenceUpdater = resourceServiceProvider.get(OptionalReferenceUpdaterProxy.class).get(); if (referenceUpdater != null) provider2updater.put(resourceServiceProvider, referenceUpdater); } return referenceUpdater; }
public Class<? extends IReferenceUpdater> bindIReferenceUpdater() { return DefaultReferenceUpdater.class; }
public Class<? extends IReferenceUpdater> bindIReferenceUpdater() { return XbaseReferenceUpdater.class; }
public Class<? extends IReferenceUpdater> bindIReferenceUpdater() { return EmfResourceReferenceUpdater.class; }
/** * @deprecated use <code>get(IReferenceUpdater.class)</code> instead */ @Deprecated public IReferenceUpdater getReferenceUpdater() { return get(IReferenceUpdater.class); }
public Multimap<IReferenceUpdater, IReferenceDescription> getReferenceUpdater2ReferenceDescriptions() { return updater2refs; }
public IReferenceUpdater get() { return referenceUpdater; }
/** * The reference updater of the language. * @deprecated use {@link #get(Class) get(IReferenceUpdater.class)} instead */ @Deprecated IReferenceUpdater getReferenceUpdater();