db1ee0bee1f704891e806283b0198cbe1edd0eb1 tdreszer Mon Sep 12 14:17:14 2011 -0700 Using cvLabels in the overflow metadata in fileUi and file sort. However, this choice may be reversed when QA and Cricket actually see it. diff --git src/hg/lib/mdb.c src/hg/lib/mdb.c index db821c3..5c00900 100644 --- src/hg/lib/mdb.c +++ src/hg/lib/mdb.c @@ -1520,49 +1520,58 @@ { mdbVar = hashFindVal(mdbObj->varHash,MDB_OBJ_TYPE); mdbVarValPrint(mdbVar,raStyle, outF); } for(mdbVar=mdbObj->vars;mdbVar!=NULL;mdbVar=mdbVar->next) { if(mdbObj->varHash == NULL || !sameOk(MDB_OBJ_TYPE,mdbVar->var)) mdbVarValPrint(mdbVar,raStyle, outF); } fprintf(outF, "%s",(raStyle?"\n\n":"\n")); } if(raStyle) // NOTE: currently only supporting validation of RA files fprintf(outF, "%s%d\n",MDB_MAGIC_PREFIX,mdbObjCRC(mdbObjs)); } -char *mdbObjVarValPairsAsLine(struct mdbObj *mdbObj,boolean objTypeExclude) +char *mdbObjVarValPairsAsLine(struct mdbObj *mdbObj,boolean objTypeExclude,boolean cvLabels) // returns NULL or a line for a single mdbObj as "var1=val1; var2=val2 ...". Must be freed. { if (mdbObj!=NULL) { struct dyString *dyLine = dyStringNew(128); struct mdbVar *mdbVar = NULL; // If hash available, force objType to front if (!objTypeExclude && mdbObj->varHash != NULL) { mdbVar = hashFindVal(mdbObj->varHash,MDB_OBJ_TYPE); dyStringPrintf(dyLine,"%s=%s; ",mdbVar->var,mdbVar->val); } for(mdbVar=mdbObj->vars;mdbVar!=NULL;mdbVar=mdbVar->next) { if (!sameOk(MDB_OBJ_TYPE,mdbVar->var) || (!objTypeExclude && mdbObj->varHash == NULL)) + { + if (cvLabels) + { + char *varLabel = (char *)cvLabel(NULL,mdbVar->var); + char *valLabel = (char *)cvLabel(mdbVar->var,mdbVar->val); + dyStringPrintf(dyLine,"%s=%s; ",varLabel,valLabel); + } + else dyStringPrintf(dyLine,"%s=%s; ",mdbVar->var,mdbVar->val); } + } char *line = dyStringCannibalize(&dyLine); if (line) { int len = strlen(line); if (len == 0) { freeMem(line); return NULL; } if (line[len-1] == ' ') line[len-1] = '\0'; return line; } } return NULL;