All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.charleslzq.dicom.spring.DicomStoreConfiguration.kt Maven / Gradle / Ivy

package com.github.charleslzq.dicom.spring

import com.github.charleslzq.dicom.store.*
import com.google.common.collect.Lists
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import java.nio.file.Paths

@Configuration
@ConditionalOnMissingBean(DicomDataStore::class)
@EnableConfigurationProperties(DicomFileStoreProperties::class)
open class DicomStoreConfiguration {

    @Autowired
    private lateinit var dicomFileStoreProperties: DicomFileStoreProperties

    @Autowired(required = false)
    private var listenerList: MutableList = Lists.newArrayList()

    @Bean
    @ConditionalOnMissingBean(DicomImageFileSaveHandler::class)
    open fun dicomImageFileSaveHandler(): DicomImageFileSaveHandler {
        return LocalFileSaveHandler()
    }

    @Bean
    open fun dicomDataFileStore(dicomImageFileSaveHandler: DicomImageFileSaveHandler): DicomDataStore {
        Paths.get(dicomFileStoreProperties.dir).toFile().mkdirs()
        return DicomDataFileStore(dicomFileStoreProperties.dir, dicomImageFileSaveHandler, listenerList)
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy