68ad0f2f361d47b5472a7c028d9cbed5348964b8
kent
  Tue Oct 12 14:58:45 2010 -0700
Making dataHubs work with oneWig.ra and reducing the debugging.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index f04f5d4..6b68dc9 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -2656,73 +2656,63 @@
     {
     return sqlConnectRemote(tg->remoteSqlHost, tg->remoteSqlUser, tg->remoteSqlPassword,
         tg->remoteSqlDatabase);
     }
 }
 
 boolean uglyOne = FALSE;
 
 void addTdbListToTrackList(struct trackDb *tdbList, char *trackNameFilter,
 	struct track **pTrackList)
 /* Convert a list of trackDb's to tracks, and append these to trackList. */
 {
 struct trackDb *tdb, *next;
 struct track *track;
 TrackHandler handler;
-if (uglyOne) uglyf("ok1<BR>\n");
 tdbSortPrioritiesFromCart(cart, &tdbList);
-if (uglyOne) uglyf("ok2<BR>\n");
 for (tdb = tdbList; tdb != NULL; tdb = next)
     {
-if (uglyOne) uglyf("ok3.1 %s<BR>\n", tdb->track);
     next = tdb->next;
     if(trackNameFilter != NULL && strcmp(trackNameFilter, tdb->track))
         // suppress loading & display of all tracks except for the one passed in via trackNameFilter
         continue;
-if (uglyOne) uglyf("ok3.2 %s<BR>\n", tdb->track);
     track = trackFromTrackDb(tdb);
-if (uglyOne) uglyf("ok3.3 %s, %d subtracks<BR>\n", tdb->track, slCount(tdb->subtracks));
     track->hasUi = TRUE;
     if (slCount(tdb->subtracks) != 0)
         {
         tdbSortPrioritiesFromCart(cart, &(tdb->subtracks));
 	if (trackDbLocalSetting(tdb, "compositeTrack"))
 	    makeCompositeTrack(track, tdb);
 	else if (trackDbLocalSetting(tdb, "container"))
 	    makeContainerTrack(track, tdb);
         }
     else
         {
-	if (uglyOne) uglyf("about to look up handler on %s<BR>\n", tdb->table);
+	if (uglyOne) uglyf("tdb->shortLabel=%s, tdb->track=%s<BR>\n", tdb->shortLabel, tdb->track);
         handler = lookupTrackHandler(tdb->table);
-	if (uglyOne) uglyf("handler=%p<BR>\n", handler);
         if (handler != NULL)
             handler(track);
         }
-if (uglyOne) uglyf("ok3.4 %s<BR>\n", tdb->track);
     if (cgiVarExists("hgGenomeClick"))
 	makeHgGenomeTrackVisible(track);
-if (uglyOne) uglyf("ok3.5 %s<BR>\n", tdb->track);
     if (track->loadItems == NULL)
         warn("No load handler for %s; possible missing trackDb `type' or `subTrack' attribute", tdb->track);
     else if (track->drawItems == NULL)
         warn("No draw handler for %s", tdb->track);
     else
         slAddHead(pTrackList, track);
-if (uglyOne) uglyf("ok3.6 %s<BR>\n", tdb->track);
     }
-if (uglyOne) uglyf("ok4<BR>\n");
 }
 
 void loadFromTrackDb(struct track **pTrackList)
 /* Load tracks from database, consulting handler list. */
 {
 char *trackNameFilter = cartOptionalString(cart, "hgt.trackNameFilter");
 struct trackDb *tdbList;
 if(trackNameFilter == NULL)
     tdbList = hTrackDb(database);
 else
     tdbList = hTrackDbForTrack(database, trackNameFilter);
 addTdbListToTrackList(tdbList, trackNameFilter, pTrackList);
 }
 
 static int getScoreFilter(char *trackName)
@@ -3337,31 +3327,31 @@
 /* Load up stuff from data hub and append to list. The hubUrl points to
  * a trackDb.ra format file.  */
 {
 /* Squirrel away hub directory for later. */
 char hubDir[PATH_LEN];
 splitPath(hubUrl, hubDir, NULL, NULL);
 
 /* Load trackDb.ra file and make it into proper trackDb tree */
 struct trackDb *tdb, *tdbList = trackDbFromRa(hubUrl);
 uglyf("Got %d tracks from %s<BR>\n", slCount(tdbList), hubUrl);
 for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
      {
      trackDbFieldsFromSettings(tdb);
      trackDbPolish(tdb);
      }
-uglyf("About to link up generations<BR>\n");
+trackDbAddTableField(tdbList);
 trackDbLinkUpGenerations(tdbList);
 uglyf("About to addTdbListToTrackList<BR>\n");
 uglyOne = TRUE;
 addTdbListToTrackList(tdbList, NULL, pTrackList);
 uglyf("Used to crash by here<BR>\n");
 }
 
 void loadDataHubs(struct track **pTrackList)
 /* Load up stuff from data hubs and append to list. */
 {
 char *dataHubs = cloneString(cartUsualString(cart, "dataHubs", NULL));
 uglyf("<BR>dataHubs=%s\n<BR>\n", dataHubs);
 if (dataHubs == NULL)
     return;
 int hubCount = chopByWhite(dataHubs, NULL, 10);