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;