caaf5cefb276c8f48858912d249156bcb45477d3 tdreszer Wed Apr 20 14:55:34 2011 -0700 Support for cv.ra typeOfTerm hidden being alpha,beta,public diff --git src/hg/lib/mdb.c src/hg/lib/mdb.c index 5b0d6a1..a695c32 100644 --- src/hg/lib/mdb.c +++ src/hg/lib/mdb.c @@ -1904,31 +1904,31 @@ freeMem(varsToReorder); } freeMem(words); } void mdbObjReorderByCv(struct mdbObj *mdbObjs, boolean includeHidden) // Reorders vars list based upon cv.ra typeOfTerms priority { struct hash *cvTermTypes = (struct hash *)cvTermTypeHash(); struct hashEl *el, *elList = hashElListHash(cvTermTypes); struct slPair *cvVars = NULL; for (el = elList; el != NULL; el = el->next) { struct hash *varHash = el->val; - if (includeHidden || SETTING_NOT_ON(hashFindVal(varHash, CV_TOT_HIDDEN))) // Skip the hidden ones + if (includeHidden || !cvTermIsHidden(el->name)) // Skip the hidden ones { char *priority = hashFindVal(varHash, CV_TOT_PRIORITY); if (priority != NULL) // If there is no priority it will randomly fall to the back of the list slPairAdd(&cvVars,el->name,(char *)sqlUnsignedLong(priority)); } } hashElFreeList(&elList); if (cvVars) { slPairIntSort(&cvVars); // sorts on the integer val // Now convert this to a string of names char *orderedVars = slPairNameToString(cvVars,' ',FALSE); slPairFreeList(&cvVars); @@ -2061,37 +2061,33 @@ } if(words != NULL) freeMem(words); } void mdbObjRemoveHiddenVars(struct mdbObj *mdbObjs) // Prunes list of vars for mdb objs that have been declared as hidden in cv.ra typeOfTerms { // make comma delimited list of hidden vars struct hash *cvTermTypes = (struct hash *)cvTermTypeHash(); struct hashEl *el, *elList = hashElListHash(cvTermTypes); struct dyString *dyRemoveVars = dyStringNew(256); for (el = elList; el != NULL; el = el->next) { - struct hash *varHash = el->val; - if (SETTING_IS_ON(hashFindVal(varHash, CV_TOT_HIDDEN))) - { - assert(cvSearchMethod(el->name) == cvNotSearchable); // Good idea to assert but cv.ra is a user updatable file + if (cvTermIsHidden(el->name)) dyStringPrintf(dyRemoveVars,"%s ",el->name); } - } hashElFreeList(&elList); if (dyStringLen(dyRemoveVars)) mdbObjRemoveVars(mdbObjs, dyStringContents(dyRemoveVars)); dyStringFree(&dyRemoveVars); } boolean mdbObjsHasCommonVar(struct mdbObj *mdbList, char *var, boolean missingOk) // Returns TRUE if all mbObjs passed in have the var with the same value { char *val = NULL; struct mdbObj *mdb = NULL; for(mdb = mdbList; mdb; mdb=mdb->next) {