// Wenn der Punkt zum ausführen eines Services aus dem Menü // ausgewählt wurde, wird diese Funktion aufgerufen. // Diese fragt nach, welcher Service gestartet werden soll // und verarbeitet alle Informationen zum starten des Services. func aufrufenService() { var serviceName string var serviceAusgabe string var err error fmt.Println(ZEILENUMBRUCH + AUFRUFEN_SERVICE_VORGEHEN) fmt.Print(EINGABE_SERVICE_NAME) fmt.Scan(&serviceName) serviceInformation, err := service.GetServiceInfo(serviceName) if err != nil { informationenAusgeben(err.Error(), true) return } if serviceInformation.Address == "" { informationenAusgeben("Der angegebene Service existiert nicht.", true) return } if serviceInformation.Info.Arguments[0].Type != "void" { //informationenAusgeben("Service hat mehrere Parameter.\nDies wird noch nicht unterstützt.", true) anzahlParameter := len(serviceInformation.Info.Arguments) parameter := make([]string, anzahlParameter) fmt.Println(ZEILENUMBRUCH) fmt.Println(AUFRUFEN_SERVICE_PARAMETER_INFO) fmt.Println(ZEILENUMBRUCH) for i := 0; i < len(serviceInformation.Info.Arguments); i++ { fmt.Printf("Der %d te Parameter ist vom Typ:\t\t%s\n", (i + 1), serviceInformation.Info.Arguments[i].Type) fmt.Println("Dazu gehört folgende Beschreibung:\t" + serviceInformation.Info.Arguments[i].Description) fmt.Printf("Parameter %d eingeben: ", (i + 1)) fmt.Scan(¶meter[i]) fmt.Println(ZEILENUMBRUCH) } switch len(serviceInformation.Info.Arguments) { case 1: serviceAusgabe, err = service.CallService(serviceName, parameter[0]) case 2: serviceAusgabe, err = service.CallService(serviceName, parameter[0], parameter[1]) case 3: serviceAusgabe, err = service.CallService(serviceName, parameter[0], parameter[1], parameter[2]) default: informationenAusgeben("Unbekannte Anzahl Parameter", true) return } } else { serviceAusgabe, err = service.CallService(serviceName) } if err != nil { informationenAusgeben(err.Error(), true) } informationenAusgeben(serviceAusgabe, false) }
// Wenn im Menü der Punkt für die Information eines Services // aufgerufen wurde, wird in diesem Menü nach dem Service // befragt, über den Informationen eingeholt werden sollen. // Danach werden die verfügbaren Informationen über diesen // ausgegeben. func zeigeServiceInformation() { var serviceName string fmt.Println(ZEILENUMBRUCH + SERVICE_INFOS_VORGEHEN) fmt.Print(EINGABE_SERVICE_NAME) fmt.Scan(&serviceName) serviceInformation, err := service.GetServiceInfo(serviceName) if err != nil { informationenAusgeben(err.Error(), true) return } if serviceInformation.Address == "" { informationenAusgeben("Der angegebene Service existiert nicht.", true) return } informationenAusgeben(verarbeiteServiceInfoAddress(*serviceInformation), false) }