- uuid, _ := item["uuid"].(string)
- if len(uuid) != 27 {
- // unsure whether this happens
- } else if t, ok := infixMap[uuid[6:11]]; !ok {
- // infix not listed in infixMap
- } else {
- item["kind"] = kind(t)
+ infix := ""
+ if uuid, _ := item["uuid"].(string); len(uuid) == 27 {
+ infix = uuid[6:11]
+ }
+ if k := kind(infixMap[infix]); k != "" {
+ item["kind"] = k
+ } else if pdh, _ := item["portable_data_hash"].(string); pdh != "" {
+ item["kind"] = "arvados#collection"
+ } else if defaultItemKind != "" {
+ item["kind"] = defaultItemKind