diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/metrics/MetricsService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/metrics/MetricsService.kt
index a27d0af61bb190517efc3b8e519d4403837d53b0..d3a9977352219570f65e6842a3ce07d2d6085295 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/metrics/MetricsService.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/metrics/MetricsService.kt
@@ -65,7 +65,7 @@ class MetricsService(
          */
 
         val vulnerabilityKpis = async {
-            val vulnerabilityDtos = ortService.getOrtResults(106) // in the dev setup we get results for repo id 106
+            val vulnerabilityDtos = ortService.getOrtResults(repoId) // in the dev setup we get results for repo id 106
             ortService.calculateVulnerabilityKpis(vulnerabilityDtos)
         }
 
@@ -91,5 +91,4 @@ class MetricsService(
             occmdKpis = occmdKpis.await()
         )
     }
-
-}
\ No newline at end of file
+}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/Worker.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/Worker.kt
deleted file mode 100644
index c3282cc13347d32e709095ee655f02ccf9c598df..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/Worker.kt
+++ /dev/null
@@ -1,95 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager
-
-import de.fraunhofer.iem.dataprovider.logger.getLogger
-import de.fraunhofer.iem.dataprovider.taskManager.tasks.ITask
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.channels.Channel
-import kotlinx.coroutines.launch
-import java.util.*
-
-
-interface IWorker {
-    /**
-     * Adds a new task to the worker's internal tasks channel.
-     */
-    suspend fun addTask(task: ITask)
-
-    // TODO: check if we can use autoclosable interface here.
-    /**
-     * Function used to close the underlying resources.
-     */
-    fun close()
-}
-
-
-/**
- * Abstract worker class used as a base for multithreaded worker.
- * It uses a fixed thread pool as a base for the coroutineScope.
- * The size of the thread pool is equal to the number of cores.
- */
-class Worker(
-    private val name: String,
-    private val coroutineScope: CoroutineScope = CoroutineScope(Dispatchers.Default),
-    numberOfWorkers: Int = Runtime.getRuntime().availableProcessors()
-) : IWorker {
-
-    // TODO: this could be dangerous to give it unlimited memory
-    private val tasksChannel = Channel<ITask>(Channel.UNLIMITED)
-
-    // TODO: the task map should be cleared to reduce memory usage.
-    //  This needs to be triggered from outside a worker as soon as
-    //  all tasks related to the specific tasks are completed.
-    private val taskMap = HashMap<UUID, Pair<ITask, Job>>()
-    private val logger = getLogger(javaClass)
-
-    override suspend fun addTask(task: ITask) {
-        tasksChannel.send(task)
-    }
-
-    init {
-        logger.info("Starting $numberOfWorkers workers.")
-        repeat(numberOfWorkers) {
-            logger.info("[${Thread.currentThread().name}] launching coroutine in $name")
-            launchWorker(it)
-        }
-    }
-
-
-    /**
-     * Wrapper function to execute tasks provided through the channel.
-     * We use a dedicated number of coroutines to watch the tasks channel.
-     * Each coroutine starts a new coroutine to execute the task. This is
-     * done so that the outer coroutines are not blocked by the potentially
-     * very long-running inner task performed by executeTask.
-     */
-    private fun launchWorker(id: Int) = coroutineScope.launch {
-        for (task in tasksChannel) {
-            val job = coroutineScope.launch {
-                logger.debug("[{}] Processor #{}-{} received {}", Thread.currentThread().name, id, name, task)
-                // TODO: we need to check if we want to wrap this executeTask in a try-catch block
-                try {
-                    task.run()
-                } catch (e: Throwable) {
-                    logger.error("Exception during task execution occurred. TaskID: ${task.taskID}")
-                } finally {
-                    logger.debug("[{}] Processor #{}-{} finished {}", Thread.currentThread().name, id, name, task)
-                    taskMap.remove(task.taskID)
-                }
-
-            }
-            taskMap[task.taskID] = Pair(task, job)
-        }
-    }
-
-    override fun close() {
-        coroutineScope.launch {
-            tasksChannel.close()
-            for (job in coroutineContext[Job]!!.children) {
-                job.join()
-            }
-            logger.info("Worker $name has been closed")
-        }
-    }
-}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/Event.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/Event.kt
deleted file mode 100644
index e34a0312b636e1c274aeb6f13866856a45a2d29a..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/Event.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-sealed class Event
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetGitlabProjectDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetGitlabProjectDoneEvent.kt
deleted file mode 100644
index 7c13e5259d2409228c09249654e4a2a67ab515f9..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetGitlabProjectDoneEvent.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import de.fraunhofer.iem.dataprovider.repository.dto.RepositoryCreateDto
-import java.util.*
-
-class GetGitlabProjectDoneEvent(taskId: UUID, val repoId: UUID, val gitRepository: RepositoryCreateDto) :
-    TaskDoneEvent(taskId = taskId)
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetRepositoryDetailsDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetRepositoryDetailsDoneEvent.kt
deleted file mode 100644
index 4dd2f12e56ba29255270e38e8a370ead05601e1e..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GetRepositoryDetailsDoneEvent.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import de.fraunhofer.iem.dataprovider.repository.dto.RepositoryDetailsDto
-import java.util.*
-
-class GetRepositoryDetailsDoneEvent(
-    taskId: UUID,
-    val repoId: UUID,
-    val repositoryDetailsEntity: RepositoryDetailsDto
-) : TaskDoneEvent(taskId = taskId)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GitCloneDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GitCloneDoneEvent.kt
deleted file mode 100644
index 9463dc1d5195d05d018b69dbf41ec54b973d0da1..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GitCloneDoneEvent.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-class GitCloneDoneEvent(taskId: UUID, val repoId: UUID, val outputDirectory: String) : TaskDoneEvent(taskId = taskId)
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskDoneEvent.kt
deleted file mode 100644
index f9768b145c5c51bc7732450d46add98675df4b52..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskDoneEvent.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-class GroupTaskDoneEvent(
-    taskId: UUID,
-    val groupId: UUID,
-) : TaskDoneEvent(taskId = taskId)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskFailedEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskFailedEvent.kt
deleted file mode 100644
index 2c5846f13d6e2719efa918cf705fb8a6e3850dc4..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTaskFailedEvent.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-class GroupTaskFailedEvent(val throwable: Throwable, val groupId: UUID, val taskId: UUID) : Event()
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTasksDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTasksDoneEvent.kt
deleted file mode 100644
index decc2336c38901736066f0b37eb81d18de35707d..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/GroupTasksDoneEvent.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-class GroupTasksDoneEvent(val repoId: UUID) : Event()
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/OrtAnalyzerDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/OrtAnalyzerDoneEvent.kt
deleted file mode 100644
index 8a900b2cc574c1f4d9043489400bc363b3f0b1fd..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/OrtAnalyzerDoneEvent.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-class OrtAnalyzerDoneEvent(
-    val resultFileOutputDirectoryPath: String,
-    val repoId: UUID, val taskId: UUID, val groupID: UUID?
-) : Event()
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RecalculateAllKpisEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RecalculateAllKpisEvent.kt
deleted file mode 100644
index 0bfff34965ac141f65455c8ca730e571ca13e964..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RecalculateAllKpisEvent.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-object RecalculateAllKpisEvent : Event()
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RepoChangedEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RepoChangedEvent.kt
deleted file mode 100644
index 6c2866b86fb88ef2f1fe0f6262695d5066db2b57..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/RepoChangedEvent.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-class RepoChangedEvent(val repoId: Long) : Event()
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskDoneEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskDoneEvent.kt
deleted file mode 100644
index e8f6d5b030a0508623b235aba80d6d41262a84a5..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskDoneEvent.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-import java.util.*
-
-open class TaskDoneEvent(val taskId: UUID) : Event()
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskFailedEvent.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskFailedEvent.kt
deleted file mode 100644
index 685ee420934df12fba8c99490f13e1190286bfdd..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/events/TaskFailedEvent.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.events
-
-class TaskFailedEvent(val throwable: Throwable) : Event()
\ No newline at end of file
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/model/GroupTasks.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/model/GroupTasks.kt
deleted file mode 100644
index 46a067ed830cbc65f03b245f3ca37946773d41ed..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/model/GroupTasks.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.model
-
-import java.util.*
-
-data class GroupTasks(
-    val repositoryId: UUID,
-    val taskIds: MutableSet<UUID> = mutableSetOf()
-)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/Task.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/Task.kt
deleted file mode 100644
index 6505f89862cce790ae4e72671a2a0e417c1b1d71..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/Task.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks
-
-import de.fraunhofer.iem.dataprovider.logger.getLogger
-import de.fraunhofer.iem.dataprovider.taskManager.events.Event
-import de.fraunhofer.iem.dataprovider.taskManager.events.GroupTaskFailedEvent
-import de.fraunhofer.iem.dataprovider.taskManager.events.TaskFailedEvent
-import java.util.*
-
-interface ITask {
-    suspend fun run()
-    val taskID: UUID
-}
-
-abstract class Task : ITask {
-    override val taskID: UUID = UUID.randomUUID()
-    protected open val groupID: UUID? = null
-
-    protected val logger = getLogger(javaClass)
-    protected abstract val responseChannel: suspend (event: Event) -> Unit
-    protected abstract suspend fun execute()
-
-    override suspend fun run() {
-        try {
-            execute()
-        } catch (e: Throwable) {
-            logger.error("Task execute failed.")
-            sendTaskFailedEvent(e)
-            throw e
-        }
-    }
-
-    protected suspend fun sendTaskFailedEvent(e: Throwable) {
-        if (groupID != null) {
-            responseChannel(GroupTaskFailedEvent(e, groupID!!, taskID))
-        } else {
-            responseChannel(TaskFailedEvent(e))
-        }
-    }
-}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/DependencyDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/DependencyDto.kt
deleted file mode 100644
index 3ea59e5f7ea8f159b96e6d86d3d15ddadf3d7e90..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/DependencyDto.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.dependency.dto
-
-
-data class DependencyDto(
-    val name: String,
-    val vulnerabilities: MutableList<VulnerabilityDto> = mutableListOf()
-)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityDto.kt
deleted file mode 100644
index 1a40c382e0589cce43bf7c9d7bfced4c94b2891a..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityDto.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.dependency.dto
-
-data class VulnerabilityDto(
-    val cveIdentifier: String,
-    val vulnerabilityScores: MutableList<VulnerabilityScoreDto> = mutableListOf()
-)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityScoreDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityScoreDto.kt
deleted file mode 100644
index 63d1c1a1a3677eb16301015104b35cd0340c738e..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/dto/VulnerabilityScoreDto.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.dependency.dto
-
-import de.fraunhofer.iem.dataprovider.taskManager.tasks.dependency.enumeration.VulnerabilityScoringSystemEnum
-
-data class VulnerabilityScoreDto(
-    val severity: String,
-    val scoringSystem: VulnerabilityScoringSystemEnum
-)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/enumeration/VulnerabilityScoringSystemEnum.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/enumeration/VulnerabilityScoringSystemEnum.kt
deleted file mode 100644
index c5a099bbba7c3461ca99f60492598a3cf24aab73..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/dependency/enumeration/VulnerabilityScoringSystemEnum.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.dependency.enumeration
-
-enum class VulnerabilityScoringSystemEnum(val system: String) {
-    CVSSV3("CVSSV3"),
-    CVSSV3_1("CVSS:3.1");
-
-    companion object {
-        fun fromString(value: String): VulnerabilityScoringSystemEnum? {
-            return entries.find { it.system.equals(value, ignoreCase = true) }
-        }
-    }
-}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ToolProcessTask.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ToolProcessTask.kt
deleted file mode 100644
index 27751681a4bba8c1cb729f16967390eb84719649..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ToolProcessTask.kt
+++ /dev/null
@@ -1,77 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.tools
-
-import de.fraunhofer.iem.dataprovider.taskManager.events.GroupTaskDoneEvent
-import de.fraunhofer.iem.dataprovider.taskManager.events.TaskDoneEvent
-import de.fraunhofer.iem.dataprovider.taskManager.tasks.Task
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-import java.nio.file.Files
-import java.nio.file.Path
-import java.nio.file.Paths
-import java.util.*
-
-abstract class ToolProcessTask<ResultType> : Task() {
-    protected abstract val flags: Array<String>
-    protected abstract val resultFileOutputPath: Path
-    protected abstract val repoId: UUID
-    protected open val execPath: String = "/bin/sh"
-    protected abstract val outputDirectory: String
-
-    private val mainScope = CoroutineScope(Dispatchers.Default)
-    override suspend fun execute() {
-        withContext(Dispatchers.IO) {
-            Files.createDirectories(Paths.get(outputDirectory))
-        }
-
-        if (isExecutable(execPath)) {
-            val process = withContext(Dispatchers.IO) {
-                ProcessBuilder(execPath, *flags).start()
-            }
-
-            process.onExit().thenApply { p1 ->
-                mainScope.launch {
-                    handleProcessReturn(p1)
-                }
-            }
-        } else {
-            logger.warn("Given execPath is not an executable $execPath.")
-            // TODO: we should probably throw an exception here.
-        }
-    }
-
-    private fun isExecutable(filePath: String): Boolean {
-        val path = Paths.get(filePath)
-        return Files.isExecutable(path)
-    }
-
-    abstract suspend fun parseProcessResults(resultPath: Path): ResultType
-    abstract suspend fun storeResultsInDb(result: ResultType)
-    protected open suspend fun handleProcessReturn(p: Process) {
-        // TODO: check process exit codes. Current problem, if an analysis
-        //  has findings it might return an exit code != 0 even tho the process finished correctly
-        logger.info("Handle Process return in $javaClass")
-        try {
-            val results = parseProcessResults(resultFileOutputPath)
-            storeResultsInDb(results)
-            sendProcessTaskDoneEvent()
-        } catch (e: Throwable) {
-            sendTaskFailedEvent(e)
-        }
-        cleanUp()
-    }
-
-    protected open fun cleanUp() {}
-
-    private suspend fun sendProcessTaskDoneEvent() {
-
-        val event = if (groupID != null) {
-            GroupTaskDoneEvent(this.taskID, groupID!!)
-        } else {
-            TaskDoneEvent(this.taskID)
-        }
-
-        responseChannel(event)
-    }
-}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/occmd/OccmdTask.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/occmd/OccmdTask.kt
deleted file mode 100644
index 1fae49f97cdb42510b245d0203638ec84996078b..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/occmd/OccmdTask.kt
+++ /dev/null
@@ -1,165 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.tools.occmd
-
-import de.fraunhofer.iem.dataprovider.repository.service.RepositoryService
-import de.fraunhofer.iem.dataprovider.taskManager.events.Event
-import de.fraunhofer.iem.dataprovider.taskManager.tasks.tools.ToolProcessTask
-import de.fraunhofer.iem.dataprovider.tools.occmd.enumeration.Checks
-import de.fraunhofer.iem.dataprovider.tools.occmd.json.RawResultJson
-import kotlinx.serialization.json.Json
-import java.nio.file.Path
-import java.util.*
-
-class OccmdTask(
-    repositoryDirectoryPath: String,
-    override val repoId: UUID,
-    override val responseChannel: suspend (event: Event) -> Unit,
-    private val repositoryService: RepositoryService,
-    override val outputDirectory: String
-) : ToolProcessTask<List<RawResultJson>>() {
-
-    override val flags: Array<String> = arrayOf(repositoryDirectoryPath, getRepositoryId(repoId))
-
-    override val resultFileOutputPath: Path =
-        Path.of(outputDirectory, "occmd-${System.currentTimeMillis()}-${this.taskID}.json")
-
-    override suspend fun parseProcessResults(resultPath: Path): List<RawResultJson> {
-        val rawResultJson = mutableListOf<RawResultJson>()
-        val json = Json { ignoreUnknownKeys = true }
-        val resFile = resultPath.toFile()
-        if (resFile.exists()) {
-            resFile.forEachLine {
-                rawResultJson.add(json.decodeFromString<RawResultJson>(it))
-            }
-        }
-        return rawResultJson
-    }
-
-    override suspend fun storeResultsInDb(result: List<RawResultJson>) {
-        result.forEach { r ->
-            val check = Checks.fromString(r.check)
-//            when (check) {
-////                Checks.CheckedInBinaries ->
-//            }
-        }
-    }
-
-    private fun getRepositoryId(repoId: UUID): String {
-        val repoPlatformId = repositoryService.findRepoByID(repoId)?.repoId
-            ?: throw NoSuchElementException("Repository with id $repoId was not found.")
-        return repoPlatformId.toString()
-    }
-
-}
-
-//class CloneGitTask(
-//    private val gitRepository: RepositoryCreateDto,
-//    private val repoDbId: UUID,
-//    override val responseChannel: suspend (task: Event) -> Unit,
-//    private val outputPath: String,
-//) : Task() {
-//
-//    override suspend fun execute() {
-//
-//        val outputDirName = "${gitRepository.name}-${taskID}"
-//        val outputDirectory = Paths.get(outputPath, outputDirName)
-//        logger.info("Cloning ${gitRepository.name} into $outputDirectory")
-//
-//        val git: Git = Git.cloneRepository()
-//            .setURI(gitRepository.uri)
-//            .setDirectory(outputDirectory.toFile())
-//            .call()
-//        git.close()
-//
-//        responseChannel(GitCloneDoneEvent(taskID, repoDbId, outputDirectory.toString()))
-//        logger.info("Finished cloning ${gitRepository.name}")
-//    }
-//}
-
-//
-//import de.fraunhofer.iem.dataprovider.configuration.OpenCodeGitlabApiConfiguration
-//import de.fraunhofer.iem.dataprovider.repository.service.RepositoryService
-//import de.fraunhofer.iem.dataprovider.taskManager.events.Event
-//import de.fraunhofer.iem.dataprovider.taskManager.tasks.tools.sarif.SarifTask
-//import de.fraunhofer.iem.dataprovider.toolRun.service.ToolRunService
-//import org.springframework.core.io.ClassPathResource
-//import org.springframework.core.io.Resource
-//import java.io.File
-//import java.nio.file.Files
-//import java.nio.file.Path
-//import java.nio.file.Paths
-//import java.util.*
-//
-//class OccmdTask(
-//    repositoryDirectoryPath: String,
-//    outputDirectoryPath: String,
-//    openCodeGitlabApiConfiguration: OpenCodeGitlabApiConfiguration,
-//    private val repositoryService: RepositoryService,
-//    override val responseChannel: suspend (task: Event) -> Unit,
-//    override val repoId: UUID,
-//    override val groupID: UUID? = null,
-//    override val toolRunService: ToolRunService
-//) : SarifTask() {
-//
-//    private val resource: Resource = ClassPathResource("scripts/occmd.sh")
-//
-//    override val outputDirectory: String = Paths.get(outputDirectoryPath, "occmd", taskID.toString()).toString()
-//    private val copiedRepositoryPath = Paths.get(outputDirectory, "copiedRepo")
-//    override val getSarif = ::getOccmdSarifFromFilePath
-//
-//    private val repositoryID = getRepositoryId(repoId)
-//    private val checkSecretPath =
-//        Paths.get(outputDirectory, "app", "notes", "opencode.d", "code", "resources", "checks", "secrets")
-//
-//    override val flags: Array<String> = arrayOf(
-//        resource.file.absolutePath,
-//        "--key",
-//        openCodeGitlabApiConfiguration.accessToken,
-//        "--username",
-//        "USERNAME", //TODO: Make sure is it required? if not delete otherwise dynamically take the username
-//        "--proj-path",
-//        copiedRepositoryPath.toString(),
-//        "--out-dir",
-//        Paths.get(outputDirectory, "app", "notes").toAbsolutePath().toString(),
-//        "--console-out-file",
-//        Paths.get(outputDirectory, "console.txt").toAbsolutePath().toString(),
-//        "--proj-id",
-//        repositoryID
-//    )
-//
-//    override val resultFileOutputPath: Path =
-//        Paths.get(checkSecretPath.toAbsolutePath().toString(), repositoryID, "DetectSecrets.baseline")
-//
-//    private fun getRepositoryId(repoId: UUID): String {
-//        val repoPlatformId = repositoryService.findRepoByID(repoId)?.repoId
-//            ?: throw NoSuchElementException("Repository with id $repoId was not found.")
-//        return repoPlatformId.toString()
-//    }
-//
-//
-//    private val dbRawPath = Paths.get(outputDirectory, "app", "notes", "opencode.d", "code", "db", "raw")
-//    private val blacklistPath = Paths.get(
-//        outputDirectory,
-//        "app",
-//        "notes",
-//        "opencode.d",
-//        "code",
-//        "resources",
-//        "checks",
-//        "checked_in_binaries",
-//        "blacklist"
-//    )
-//
-//    override fun cleanUp() {
-//        File(copiedRepositoryPath.toUri()).deleteRecursively()
-//    }
-//
-//    init {
-//        val repoFile = File(repositoryDirectoryPath)
-//        val copiedRepo = File(copiedRepositoryPath.toUri())
-//        repoFile.copyRecursively(copiedRepo)
-//
-//        Files.createDirectories(dbRawPath)
-//        Files.createDirectories(blacklistPath)
-//        Files.createDirectories(checkSecretPath)
-//    }
-//}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ort/OrtApiTask.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ort/OrtApiTask.kt
deleted file mode 100644
index 34ae9d41e0ca27fce3f929001e42268c24a96d22..0000000000000000000000000000000000000000
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/taskManager/tasks/tools/ort/OrtApiTask.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-package de.fraunhofer.iem.dataprovider.taskManager.tasks.tools.ort
-
-import de.fraunhofer.iem.dataprovider.repository.service.RepositoryService
-import de.fraunhofer.iem.dataprovider.taskManager.events.Event
-import de.fraunhofer.iem.dataprovider.taskManager.tasks.Task
-import de.fraunhofer.iem.dataprovider.tool.service.ToolService
-import de.fraunhofer.iem.dataprovider.tools.ort.json.OrtJson
-import io.ktor.client.*
-import io.ktor.client.call.*
-import io.ktor.client.engine.cio.*
-import io.ktor.client.plugins.contentnegotiation.*
-import io.ktor.client.request.*
-import io.ktor.client.statement.*
-import io.ktor.serialization.kotlinx.json.*
-import kotlinx.serialization.json.Json
-import java.util.*
-
-class OrtApiTask(
-    override val responseChannel: suspend (event: Event) -> Unit,
-    val repoId: UUID,
-    private val toolService: ToolService,
-    private val repositoryService: RepositoryService
-) : Task() {
-
-    override suspend fun execute() {
-
-        val client = HttpClient(CIO) {
-            install(ContentNegotiation) {
-                json(
-                    Json { ignoreUnknownKeys = true }
-                )
-            }
-        }
-
-        val response: HttpResponse = client.get("http://localhost:3000/ort")
-        val ortJson = response.body<OrtJson>()
-        println(response.status)
-        println(ortJson)
-        client.close()
-//        val ortDto = ortJsonToDto(ortJson)
-//        val dependencies = mutableListOf<DependencyDto>()
-//
-//        ortDto.packages.forEach { p ->
-//            if (p.nameAndVersion != null) {
-//                dependencies.add(DependencyDto(name = p.nameAndVersion))
-//            }
-//        }
-//
-//        ortDto.advisorResults.forEach { advisorResult ->
-//
-//            var dependency = dependencies.find { it.name == advisorResult.identifier }
-//
-//            if (dependency == null) {
-//                dependency = DependencyDto(advisorResult.identifier)
-//                dependencies.add(dependency)
-//            }
-//            advisorResult.vulnerabilities.forEach { vulnerability ->
-//                if (vulnerability.id != null) {
-//
-//                    val vulnerabilityScoreDtos =
-//                        vulnerability.references.mapNotNull { ref ->
-//                            if (ref.severity != null && ref.scoringSystem != null) {
-//                                val scoringSystem = VulnerabilityScoringSystemEnum.fromString(ref.scoringSystem)
-//                                scoringSystem?.let {
-//                                    return@mapNotNull VulnerabilityScoreDto(severity = ref.severity, it)
-//                                }
-//                            }
-//                            return@mapNotNull null
-//                        }
-//                    val vulnerabilityDto =
-//                        VulnerabilityDto(vulnerability.id, vulnerabilityScoreDtos.toMutableList())
-//                    dependency.vulnerabilities.add(vulnerabilityDto)
-//                }
-//            }
-//        }
-
-    }
-
-}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt
index e6cd93aaef8fd02f6389bd19721dd7f61a65ee9e..cd5c9c87c20fe6ebd6f41b8688d66bdfebb97cce 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt
@@ -69,7 +69,7 @@ class OccmdService(
                         "Checked in Binary",
                         "",
                         false,
-                        RawValueKPICalculationStrategy((it.score * 10).toInt())
+                        RawValueKPICalculationStrategy((it.score * 100).toInt())
                     )
 
                 Checks.SastUsageBasic ->
@@ -77,7 +77,7 @@ class OccmdService(
                         "SAST usage",
                         "",
                         false,
-                        RawValueKPICalculationStrategy((it.score * 10).toInt())
+                        RawValueKPICalculationStrategy(100 - (it.score * 100).toInt())
                     )
 
                 Checks.Secrets ->