Unverified Commit a3dbb5e3 authored by Russell Cohen's avatar Russell Cohen Committed by GitHub
Browse files

Use `.of()` to construct Knowledge Indices (#39)

`.of()` will use a cached index on the model when it exists
parent 7e580f64
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ class SymbolVisitor(
    private val config: SymbolVisitorConfig = DefaultConfig
) : SymbolProvider,
    ShapeVisitor<Symbol> {
    private val nullableIndex = NullableIndex(model)
    private val nullableIndex = NullableIndex.of(model)
    override fun toSymbol(shape: Shape): Symbol {
        return shape.accept(this)
    }
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ class HttpTraitBindingGenerator(
) {
    // TODO: make defaultTimestampFormat configurable
    private val defaultTimestampFormat = TimestampFormatTrait.Format.EPOCH_SECONDS
    private val index = HttpBindingIndex(model)
    private val index = HttpBindingIndex.of(model)

    /**
     * Generates `update_http_builder` and all necessary dependency functions into the impl block provided by
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ class ServiceGenerator(
    private val protocolGenerator: HttpProtocolGenerator,
    private val config: ProtocolConfig
) {
    private val index = TopDownIndex(config.model)
    private val index = TopDownIndex.of(config.model)

    fun render() {
        val operations = index.getContainedOperations(config.serviceShape)
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ class AwsRestJsonGenerator(
    private val model = protocolConfig.model
    private val symbolProvider = protocolConfig.symbolProvider
    private val runtimeConfig = protocolConfig.runtimeConfig
    private val httpIndex = HttpBindingIndex(model)
    private val httpIndex = HttpBindingIndex.of(model)
    private val requestBuilder = RuntimeType.Http("request::Builder")

    override fun toHttpRequestImpl(
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ class ProtocolLoader(private val supportedProtocols: Map<ShapeId, ProtocolGenera
        model: Model,
        serviceShape: ServiceShape
    ): Pair<ShapeId, ProtocolGeneratorFactory<HttpProtocolGenerator>> {
        val protocols: MutableMap<ShapeId, Trait> = ServiceIndex(model).getProtocols(serviceShape)
        val protocols: MutableMap<ShapeId, Trait> = ServiceIndex.of(model).getProtocols(serviceShape)
        val matchingProtocols =
            protocols.keys.mapNotNull { protocolId -> supportedProtocols[protocolId]?.let { protocolId to it } }
        if (matchingProtocols.isEmpty()) {
Loading