data.*combinedSchemaGenerator.SetSchemaGenerator   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 1
dl 0
loc 2
ccs 0
cts 1
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
package data
2
3
import (
4
	"context"
5
	"fmt"
6
7
	"github.com/getkin/kin-openapi/openapi3"
8
	"github.com/pkg/errors"
9
)
10
11
type combinedSchemaGenerator struct {
12
	merger          schemaMerger
13
	schemaGenerator schemaGenerator
14
}
15
16
func (generator *combinedSchemaGenerator) SetSchemaGenerator(schemaGenerator schemaGenerator) {
17
	generator.schemaGenerator = schemaGenerator
18
}
19
20
func (generator *combinedSchemaGenerator) GenerateDataBySchema(ctx context.Context, schema *openapi3.Schema) (Data, error) {
21 1
	mergedSchema := generator.merger.MergeSchemas(schema)
22 1
	if mergedSchema == nil {
23 1
		return nil, errors.WithStack(&ErrGenerationFailed{
24
			GeneratorID: "combinedSchemaGenerator",
25
			Message:     fmt.Sprintf("schema '%s' is not a combining schema", schema.Title),
26
		})
27
	}
28
29 1
	return generator.schemaGenerator.GenerateDataBySchema(ctx, mergedSchema)
30
}
31