func (handler *gaugeApiMessageHandler) getStepValueRequestResponse(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { request := message.GetStepValueRequest() stepText := request.GetStepText() hasInlineTable := request.GetHasInlineTable() stepValue, err := parser.ExtractStepValueAndParams(stepText, hasInlineTable) if err != nil { return handler.getErrorResponse(message, err) } stepValueResponse := &gauge_messages.GetStepValueResponse{StepValue: parser.ConvertToProtoStepValue(stepValue)} return &gauge_messages.APIMessage{MessageType: gauge_messages.APIMessage_GetStepValueResponse.Enum(), MessageId: message.MessageId, StepValueResponse: stepValueResponse} }
func (handler *gaugeApiMessageHandler) getLanguagePluginLibPath(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { libPathRequest := message.GetLibPathRequest() language := libPathRequest.GetLanguage() languageInstallDir, err := common.GetPluginInstallDir(language, "") if err != nil { return handler.getErrorMessage(err) } runnerInfo, err := runner.GetRunnerInfo(language) if err != nil { return handler.getErrorMessage(err) } relativeLibPath := runnerInfo.Lib libPath := path.Join(languageInstallDir, relativeLibPath) response := &gauge_messages.GetLanguagePluginLibPathResponse{Path: proto.String(libPath)} return &gauge_messages.APIMessage{MessageType: gauge_messages.APIMessage_GetLanguagePluginLibPathResponse.Enum(), MessageId: message.MessageId, LibPathResponse: response} }
func (handler *gaugeApiMessageHandler) formatSpecs(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { request := message.GetFormatSpecsRequest() results := formatter.FormatSpecFiles(request.GetSpecs()...) warnings := make([]string, 0) errors := make([]string, 0) for _, result := range results { if result.ParseError != nil { errors = append(errors, result.ParseError.Error()) } if result.Warnings != nil { warningTexts := make([]string, 0) for _, warning := range result.Warnings { warningTexts = append(warningTexts, warning.String()) } warnings = append(warnings, warningTexts...) } } formatResponse := &gauge_messages.FormatSpecsResponse{Errors: errors, Warnings: warnings} return &gauge_messages.APIMessage{MessageId: message.MessageId, MessageType: gauge_messages.APIMessage_FormatSpecsResponse.Enum(), FormatSpecsResponse: formatResponse} }
func (handler *gaugeApiMessageHandler) extractConcept(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { request := message.GetExtractConceptRequest() success, err, filesChanged := conceptExtractor.ExtractConcept(request.GetConceptName(), request.GetSteps(), request.GetConceptFileName(), request.GetChangeAcrossProject(), request.GetSelectedTextInfo()) response := &gauge_messages.ExtractConceptResponse{IsSuccess: proto.Bool(success), Error: proto.String(err.Error()), FilesChanged: filesChanged} return &gauge_messages.APIMessage{MessageId: message.MessageId, MessageType: gauge_messages.APIMessage_ExtractConceptResponse.Enum(), ExtractConceptResponse: response} }