15851: Merge branch 'master' into 15851-empty-items-array
authorTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Nov 2019 19:04:27 +0000 (14:04 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Nov 2019 19:04:27 +0000 (14:04 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

1  2 
lib/controller/federation/generated.go
lib/controller/federation/list.go
lib/controller/federation/list_test.go

index 2e6eda7ff6d5fc3e2ad510bc7fda0414dba68c7c,caf454e9ab3d25b0537f3de73e63c2a2a71c8862..fb91a84960547d6dc6099e2e7e3ca69fb162afd8
@@@ -37,13 -41,13 +41,19 @@@ func (conn *Conn) ContainerList(ctx con
                }
                return uuids, nil
        })
-       sort.Slice(merged.Items, func(i, j int) bool { return merged.Items[i].UUID < merged.Items[j].UUID })
+       if needSort.Load().(bool) {
+               // Apply the default/implied order, "modified_at desc"
+               sort.Slice(merged.Items, func(i, j int) bool {
+                       mi, mj := merged.Items[i].ModifiedAt, merged.Items[j].ModifiedAt
+                       return mj.Before(mi)
+               })
+       }
 +      if merged.Items == nil {
 +              // Return empty results as [], not null
 +              // (https://github.com/golang/go/issues/27589 might be
 +              // a better solution in the future)
 +              merged.Items = []arvados.Container{}
 +      }
        return merged, err
  }
  
@@@ -68,12 -75,12 +81,18 @@@ func (conn *Conn) SpecimenList(ctx cont
                }
                return uuids, nil
        })
-       sort.Slice(merged.Items, func(i, j int) bool { return merged.Items[i].UUID < merged.Items[j].UUID })
+       if needSort.Load().(bool) {
+               // Apply the default/implied order, "modified_at desc"
+               sort.Slice(merged.Items, func(i, j int) bool {
+                       mi, mj := merged.Items[i].ModifiedAt, merged.Items[j].ModifiedAt
+                       return mj.Before(mi)
+               })
+       }
 +      if merged.Items == nil {
 +              // Return empty results as [], not null
 +              // (https://github.com/golang/go/issues/27589 might be
 +              // a better solution in the future)
 +              merged.Items = []arvados.Specimen{}
 +      }
        return merged, err
  }
index 0c6bef497fabf30d7f6c9a4be8b96981fc9f6540,4bd32fac20e9e82c38f5aa939518e62008fc3545..54f59812a0bceaf3706dc35bdf599d8d58a8f7be
@@@ -41,13 -45,13 +45,19 @@@ func (conn *Conn) CollectionList(ctx co
                }
                return uuids, nil
        })
-       sort.Slice(merged.Items, func(i, j int) bool { return merged.Items[i].UUID < merged.Items[j].UUID })
+       if needSort.Load().(bool) {
+               // Apply the default/implied order, "modified_at desc"
+               sort.Slice(merged.Items, func(i, j int) bool {
+                       mi, mj := merged.Items[i].ModifiedAt, merged.Items[j].ModifiedAt
+                       return mj.Before(mi)
+               })
+       }
 +      if merged.Items == nil {
 +              // Return empty results as [], not null
 +              // (https://github.com/golang/go/issues/27589 might be
 +              // a better solution in the future)
 +              merged.Items = []arvados.Collection{}
 +      }
        return merged, err
  }