| 164 | } |
| 165 | |
| 166 | func (n *nodeCore) GetNextNode(action string) BaseNode { |
| 167 | n.initCore() |
| 168 | if action == "" { |
| 169 | action = DefaultAction |
| 170 | } |
| 171 | nextNode, exists := n.successors[action] |
| 172 | if !exists && len(n.successors) > 0 { |
| 173 | keys := make([]string, 0, len(n.successors)) |
| 174 | for k := range n.successors { |
| 175 | keys = append(keys, k) |
| 176 | } |
| 177 | logWarn("Flow might end: Action '%s' not found in successors %v of node %T", action, keys, n) |
| 178 | } |
| 179 | return nextNode |
| 180 | } |
| 181 | |
| 182 | // --- Standard Node (with Retry) --- |
| 183 | |