<commit_before>package com.monkeyapp.blog.di

import org.jvnet.hk2.annotations.Contract
import org.jvnet.hk2.annotations.Service
import javax.inject.Inject
import javax.servlet.ServletContext
import javax.ws.rs.core.Context

@Contract
interface RootComponent {
    fun controllerComponent(): ControllerComponent
}

@Service
class RootComponentImpl :
    RootComponent,
    ControllerComponent.ParentComponent {

    @Context
    private lateinit var context: ServletContext

    @Inject
    private lateinit var blogParameters: BlogParameters

    @Inject
    private lateinit var inputStreamProvider: InputStreamProvider

    private val controllerComponent: ControllerComponent by lazy {
        ControllerComponentImpl(this)
    }

    override fun context(): ServletContext = context

    override fun blogParameters(): BlogParameters = blogParameters

    override fun inputStreamProvider(): InputStreamProvider = inputStreamProvider

    override fun controllerComponent(): ControllerComponent = controllerComponent
}<commit_msg>Update RootComponent.kt<commit_after>package com.monkeyapp.blog.di

import org.jvnet.hk2.annotations.Contract
import org.jvnet.hk2.annotations.Service
import javax.inject.Inject
import javax.servlet.ServletContext
import javax.ws.rs.core.Context

@Contract
interface RootComponent {
    fun controllerComponent(): ControllerComponent
}

@Service
class RootComponentImpl :
    RootComponent,
    ControllerComponent.ParentComponent {

    @Context
    private lateinit var context: ServletContext

    @Inject
    private lateinit var blogParameters: BlogParameters

    @Inject
    private lateinit var inputStreamProvider: InputStreamProvider
 
    override fun context(): ServletContext = context

    override fun blogParameters(): BlogParameters = blogParameters

    override fun inputStreamProvider(): InputStreamProvider = inputStreamProvider

    override fun controllerComponent(): ControllerComponent = ControllerComponentImpl(this)
}
{'fraction_non_alphanumeric': 0.0606366851945427, 'fraction_numerical': 0.00202122283981809, 'mean_word_length': 4.963855421686747, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6642126', 'n_tokens_mistral': 480, 'n_tokens_neox': 464, 'n_words': 130}