protected void findLocalReferences(Iterable<URI> localTargets, ILocalResourceAccess localResourceAccess,
final IAcceptor<IReferenceDescription> acceptor, IProgressMonitor monitor) {
if ((monitor != null && monitor.isCanceled()))
return;
final Multimap<URI, URI> resource2target = LinkedHashMultimap.create();
for (URI targetURI : localTargets) {
resource2target.put(targetURI.trimFragment(), targetURI);
}
final SubMonitor subMonitor = SubMonitor.convert(monitor, resource2target.keySet().size());
for (final URI resourceURI : resource2target.keySet()) {
if (subMonitor.isCanceled())
return;
localResourceAccess.readOnly(resourceURI, new IUnitOfWork.Void<ResourceSet>() {
@Override
public void process(ResourceSet resourceSet) throws Exception {
Resource resource = resourceSet.getResource(resourceURI, true);
findLocalReferencesInResource(resource2target.get(resourceURI), resource, acceptor);
}
});
subMonitor.worked(1);
}
}
DefaultReferenceFinder.java 文件源码
java
阅读 34
收藏 0
点赞 0
评论 0
项目:bts
作者:
评论列表
文章目录