Add new federation panels (#343) · oracle/coherence-cli@6e05eaa · GitHub
Skip to content

Commit 6e05eaa

Browse files
author
Tim Middleton
authored
Add new federation panels (#343)
* Add new federation panels * Update staging and snapshot repositories. * Correct url link * Update repository
1 parent a6852d6 commit 6e05eaa

3 files changed

Lines changed: 148 additions & 46 deletions

File tree

‎java/pom.xml‎

Lines changed: 12 additions & 1 deletion

‎pkg/cmd/federation.go‎

Lines changed: 64 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,7 @@ service, type and participant. Specify -T to set type outgoing or incoming and -
314314
printWatchHeader(cmd)
315315
sb.WriteString(FormatCurrentCluster(connection))
316316

317-
sb.WriteString("\nFEDERATION DETAILS\n")
318-
sb.WriteString("------------------\n")
319-
320-
sb.WriteString(fmt.Sprintf("Service: %s\n", service))
321-
sb.WriteString(fmt.Sprintf("Type: %s\n", describeFederationType))
322-
sb.WriteString(fmt.Sprintf("Participant: %s\n\n", participant))
317+
sb.WriteString(getDescribeFederationHeader(service, describeFederationType, participant))
323318

324319
if verboseOutput {
325320
for _, v := range results {
@@ -355,6 +350,21 @@ service, type and participant. Specify -T to set type outgoing or incoming and -
355350
},
356351
}
357352

353+
func getDescribeFederationHeader(serviceName, federationType, participantName string) string {
354+
var sb strings.Builder
355+
356+
if !monitorCluster {
357+
sb.WriteString("\nFEDERATION DETAILS\n")
358+
sb.WriteString("------------------\n")
359+
sb.WriteString(fmt.Sprintf("Service: %s\n", serviceName))
360+
}
361+
362+
sb.WriteString(fmt.Sprintf("Type: %s\n", federationType))
363+
sb.WriteString(fmt.Sprintf("Participant: %s\n\n", participantName))
364+
365+
return sb.String()
366+
}
367+
358368
func decodeFederationData(results [][]byte) ([]config.FederationDescription, error) {
359369
var federationData = make([]config.FederationDescription, 0)
360370
for _, v := range results {
@@ -438,47 +448,15 @@ func getFederationConnectionDetails(cmd *cobra.Command, service, federationType
438448
return err
439449
}
440450
} else {
441-
var sb strings.Builder
442-
443451
printWatchHeader(cmd)
444-
sb.WriteString(FormatCurrentCluster(connection))
445-
446-
textDirection := "OUTGOING"
447-
if describeFederationType == origins {
448-
textDirection = "INCOMING"
449-
}
450-
451-
sb.WriteString("\n" + textDirection + " FEDERATION CONNECTIONS\n")
452-
sb.WriteString("------------------------------\n")
453-
454-
sb.WriteString(fmt.Sprintf("Service: %s\n", service))
455-
sb.WriteString(fmt.Sprintf("Type: %s\n", describeFederationType))
456-
sb.WriteString(fmt.Sprintf("Participant: %s\n", participant))
457-
sb.WriteString("** Showing destination member details\n\n")
452+
cmd.Println(FormatCurrentCluster(connection))
458453

459-
// encode the mapMembers
460-
federationData, err := decodeFederationData(results)
461-
if err != nil {
462-
return err
454+
output, err2 := getFederationConnectionData(results, service, describeFederationType, participant)
455+
if err2 != nil {
456+
return err2
463457
}
464458

465-
mapAllIncoming := make([]string, 0)
466-
for _, v := range federationData {
467-
for _, v2 := range v.MapMembers {
468-
mapAllIncoming = append(mapAllIncoming, v2)
469-
}
470-
if v.Member != "" && v.Member != "N/A" {
471-
mapAllIncoming = append(mapAllIncoming, v.Member)
472-
}
473-
}
474-
incomingList, err1 := decodeDepartedMembers(mapAllIncoming)
475-
if err1 != nil {
476-
return err1
477-
}
478-
479-
sb.WriteString(FormatDepartedMembers(incomingList))
480-
481-
cmd.Println(sb.String())
459+
cmd.Println(output)
482460
}
483461

484462
// check to see if we should exit if we are not watching
@@ -493,6 +471,49 @@ func getFederationConnectionDetails(cmd *cobra.Command, service, federationType
493471
return nil
494472
}
495473

474+
func getFederationConnectionData(results [][]byte, service, federationType, participantName string) (string, error) {
475+
var sb strings.Builder
476+
477+
textDirection := "OUTGOING"
478+
if federationType == origins {
479+
textDirection = "INCOMING"
480+
}
481+
482+
if !monitorCluster {
483+
sb.WriteString("\n" + textDirection + " FEDERATION CONNECTIONS\n")
484+
sb.WriteString("-------------------------------\n")
485+
sb.WriteString(fmt.Sprintf("Service: %s\n", service))
486+
}
487+
488+
sb.WriteString(fmt.Sprintf("Type: %s\n", federationType))
489+
sb.WriteString(fmt.Sprintf("Participant: %s\n", participantName))
490+
sb.WriteString("** Showing destination member details\n\n")
491+
492+
// encode the mapMembers
493+
federationData, err := decodeFederationData(results)
494+
if err != nil {
495+
return "", err
496+
}
497+
498+
mapAllIncoming := make([]string, 0)
499+
for _, v := range federationData {
500+
for _, v2 := range v.MapMembers {
501+
mapAllIncoming = append(mapAllIncoming, v2)
502+
}
503+
if v.Member != "" && v.Member != "N/A" {
504+
mapAllIncoming = append(mapAllIncoming, v.Member)
505+
}
506+
}
507+
incomingList, err1 := decodeDepartedMembers(mapAllIncoming)
508+
if err1 != nil {
509+
return "", err1
510+
}
511+
512+
sb.WriteString(FormatDepartedMembers(incomingList))
513+
514+
return sb.String(), nil
515+
}
516+
496517
func encodeFinalData(results [][]byte) []byte {
497518
numResults := len(results)
498519

‎pkg/cmd/monitor_cluster.go‎

Lines changed: 72 additions & 2 deletions

0 commit comments

Comments
 (0)