Skip to content
This repository has been archived by the owner on Jan 26, 2022. It is now read-only.

Commit

Permalink
Output gonit status in alphabetical order.
Browse files Browse the repository at this point in the history
Change-Id: I3ccec2db14fa77d63e6cb5e1d73fe6dda1f19a54
  • Loading branch information
lisbakke committed Oct 16, 2012
1 parent 21ff275 commit 5c3a59e
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions api.go
Expand Up @@ -4,6 +4,7 @@ package gonit

import (
"errors"
"sort"
"github.com/cloudfoundry/gosigar"
)

Expand Down Expand Up @@ -37,6 +38,30 @@ type ProcessGroupStatus struct {
Group []ProcessStatus
}

func (pgs *ProcessGroupStatus) Len() int {
return len(pgs.Group)
}

func (pgs *ProcessGroupStatus) Less(i, j int) bool {
return pgs.Group[i].Summary.Name < pgs.Group[j].Summary.Name
}

func (pgs *ProcessGroupStatus) Swap(i, j int) {
pgs.Group[i], pgs.Group[j] = pgs.Group[j], pgs.Group[i]
}

func (s *Summary) Len() int {
return len(s.Processes)
}

func (s *Summary) Less(i, j int) bool {
return s.Processes[i].Name < s.Processes[j].Name
}

func (s *Summary) Swap(i, j int) {
s.Processes[i], s.Processes[j] = s.Processes[j], s.Processes[i]
}

type Summary struct {
Processes []ProcessSummary
}
Expand Down Expand Up @@ -182,6 +207,7 @@ func (c *Control) groupStatus(group *ProcessGroup,
c.processStatus(process, &status)
groupStatus.Group = append(groupStatus.Group, status)
}
sort.Sort(groupStatus)

return nil
}
Expand Down Expand Up @@ -248,6 +274,7 @@ func (a *API) Summary(unused interface{}, s *Summary) error {
s.Processes = append(s.Processes, summary)
}
}
sort.Sort(s)

return nil
}
Expand Down

0 comments on commit 5c3a59e

Please sign in to comment.