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

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

package com.github.charleslzq.dicom.spring

import com.github.charleslzq.dicom.DicomParseWorker
import com.github.charleslzq.dicom.watch.FileChangeListener
import com.github.charleslzq.dicom.watch.FileWatcher
import java.nio.file.Path
import java.nio.file.Paths
import java.nio.file.StandardWatchEventKinds

class DicomFileListener(
        private val dicomParseWorker: DicomParseWorker,
        private val fileWatcher: FileWatcher
) : FileChangeListener {

    override fun onCreate(basePath: Path, name: String) {
        val file = Paths.get(basePath.toFile().absolutePath, name).toFile()
        when (file.isFile) {
            true -> dicomParseWorker.parse(file)
            false -> {
                fileWatcher.register(file.absolutePath, this, StandardWatchEventKinds.ENTRY_CREATE)
                file.listFiles().filter { it != null && it.isFile }.forEach(dicomParseWorker::parse)
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy