if (matchParentURL || matchParentID) {
if (matchedService(query, identifier)) {
found.add(service);
found.addAll(friends(service));
} else {
IResolve res = getChildById(service, id, true, monitor);
if (res != null) {
found.add(res);
found.addAll(friends(res));
}
}
}
}
// first pass 1.2 - use urlEquals on unCONNECTED service for subset check
for( IService service : services ) {
if (service.getStatus() == CONNECTED)
continue; // already checked in pass 1.1
URL identifier = service.getIdentifier();
if (URLUtils.urlEquals(query, identifier, true)) {
if (service.getStatus() != NOTCONNECTED)
continue; // look into not connected service that "match"
if (matchedService(query, identifier)) {
found.add(service);
found.addAll(friends(service));
} else {
IResolve res = getChildById(service, id, true, monitor);
if (res != null) {
found.add(res);
found.addAll(friends(res));
}
}
}
}
// first pass 1.3 - use urlEquals on BROKEN or RESTRICTED_ACCESS service for subset check
// the hope here is that a "friend" will still have data! May be tough for friends
// to negotiate a match w/ a broken services - but there is still hope...
for( IService service : services ) {
if (service.getStatus() == CONNECTED || service.getStatus() == NOTCONNECTED) {
continue; // already checked in pass 1.1-1.2
}
URL identifier = service.getIdentifier();
if (URLUtils.urlEquals(query, identifier, true)) {
if (matchedService(query, identifier)) {
found.add(service);
found.addAll(friends(service));
} else {
IResolve res = getChildById(service, id, true, monitor);
if (res != null) {
found.add(res);
found.addAll(friends(res));
}
}