Exemplo n.º 1
0
// 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(&parameter[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)
}
Exemplo n.º 2
0
// 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)
}