483716a7cd43a3c24c9b3273206f37021fe3f2d7 kent Tue Jan 11 17:58:48 2011 -0800 Adding hub support to hgc. diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index a4a4f96..70044a2 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -2724,50 +2724,31 @@ tdb = trackDbForPseudoTrack(CUTTERS_TRACK_NAME, CUTTERS_TRACK_LABEL, CUTTERS_TRACK_LONGLABEL, tvHide, TRUE); else if (isCustomTrack(track)) { ctList = customTracksParseCart(database, cart, NULL, NULL); for (ct = ctList; ct != NULL; ct = ct->next) { if (sameString(track, ct->tdb->track)) { tdb = ct->tdb; break; } } } else if (isHubTrack(track)) { - int hubId = hubIdFromTrackName(track); - struct sqlConnection *conn = hConnectCentral(); - struct hubConnectStatus *hubStatus = hubConnectStatusForId(conn, hubId); - hDisconnectCentral(&conn); - if (hubStatus == NULL) - errAbort("The hubId %d was not found", hubId); - if (!isEmpty(hubStatus->errorMessage)) - errAbort("Hub %s at %s has the error: %s", hubStatus->shortLabel, - hubStatus->hubUrl, hubStatus->errorMessage); - char hubName[16]; - safef(hubName, sizeof(hubName), "%d", hubId); - struct trackHub *hub = trackHubOpen(hubStatus->hubUrl, hubName); - struct trackHubGenome *hubGenome = trackHubFindGenome(hub, database); - struct trackDb *tdbList = trackHubTracksForGenome(hub, hubGenome); - tdbList = trackDbLinkUpGenerations(tdbList); - tdbList = trackDbPolishAfterLinkup(tdbList, database); - rAddTrackListToHash(trackHash, tdbList, chromosome, FALSE); - tdb = hashFindVal(trackHash, track); - if (tdb == NULL) - errAbort("Can't find track %s in %s", track, hubStatus->hubUrl); + tdb = hubConnectAddHubForTrackAndFindTdb(database, track, &tdbList, trackHash); } else if (sameString(track, "hgPcrResult")) tdb = pcrResultFakeTdb(); else { tdb = tdbForTrack(database, track,&tdbList); } if (tdb == NULL) { uglyAbort("Can't find %s in track database %s chromosome %s. TrackHash has %d els", track, database, chromosome, trackHash->elCount); errAbort("Can't find %s in track database %s chromosome %s", track, database, chromosome); } char *super = trackDbGetSupertrackName(tdb);