Skip to content

Tech/3990/clean tools module #4005

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Apr 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7421fe6
docs(analysis): add ADR (#3990)
BenediktMehl Mar 21, 2025
c701323
docs(analysis): write ADR (#3990)
BenediktMehl Mar 21, 2025
e797773
docs(analysis): accept ADR (#3990)
BenediktMehl Mar 24, 2025
e7262da
docs(analysis): remove MG from ADR (#3990)
BenediktMehl Mar 25, 2025
16ad52c
refactor(analysis): move tools (#3990)
Mar 28, 2025
36bdcb6
test(analysis): fix unit test (#3990)
Mar 28, 2025
28da2a8
test(analysis): fix unit test (#3990)
Mar 28, 2025
860a69e
refactor(analysis): move export (#3990)
Mar 28, 2025
9f82c71
refactor(analysis): rename exporters (#3990)
Mar 28, 2025
381ad9c
refactor(analysis): rename analysers.tools package (#3990)
Mar 28, 2025
9e13018
refactor(analysis): remove redundant qualifiers (#3990)
Mar 28, 2025
c4764c1
refactor(analysis): move filter (#3990)
Mar 28, 2025
d41dbfc
refactor(analysis): remove redundant companion reference (#3990)
Mar 28, 2025
1a2669e
refactor(analysis): rename filters (#3990)
Mar 28, 2025
751bec9
refactor(analysis): move import (#3990)
Mar 28, 2025
cccec02
refactor(analysis): rename importer (#3990)
Mar 31, 2025
edcfd36
refactor(analysis): move parser (#3990)
Mar 31, 2025
17ff916
refactor(analysis): rename parsers (#3990)
Mar 31, 2025
d0cb2a5
refactor(analysis): move InteractiveParser (#3990)
Apr 1, 2025
ef71111
refactor(analysis): rename AnalyserInterface (#3990)
Apr 1, 2025
bbe2a9f
refactor(analysis): move PipeableParser (#3990)
Nereboss Apr 1, 2025
e452f88
refactor(analysis): rename PipeableAnalyserInterface (#3990)
Nereboss Apr 1, 2025
6953b9f
refactor(analysis): move Inquirer (#3990)
Nereboss Apr 1, 2025
4d131e7
refactor(analysis): move ccsh (#3990)
Nereboss Apr 1, 2025
8562fe0
refactor(analysis): move DialogProvider (previously Inquirer) (#3990)
Nereboss Apr 1, 2025
0622392
refactor(analysis): rename DialogProvider (previously Inquirer) (#3990)
Nereboss Apr 1, 2025
e324400
refactor(analysis): update ADR (#3990)
Nereboss Apr 1, 2025
3763391
refactor(analysis): fix typo (#3990)
Nereboss Apr 1, 2025
49dcaa3
refactor(analysis): change name from one function to not include unne…
Nereboss Apr 2, 2025
9ef72cd
refactor(analysis): fix failing tests (#3990)
Nereboss Apr 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.tools.interactiveparser
package de.maibornwolff.codecharta.analysers.analyserinterface

import com.varabyte.kotter.foundation.session
import com.varabyte.kotter.runtime.Session
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.maibornwolff.codecharta.tools.interactiveparser
package de.maibornwolff.codecharta.analysers.analyserinterface

interface InteractiveParser {
interface AnalyserInterface {
val name: String
val description: String

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.tools.interactiveparser.util
package de.maibornwolff.codecharta.analysers.analyserinterface.util

class CodeChartaConstants {
object General {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package de.maibornwolff.codecharta.analysers.pipeableanalyserinterface

interface PipeableAnalyserInterface {
fun logPipeableAnalyserSyncSignal(syncSignal: PipeableAnalyserSyncFlag) {
print(syncSignal.value)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package de.maibornwolff.codecharta.analysers.pipeableanalyserinterface

enum class PipeableAnalyserSyncFlag(val value: String) {
SYNC_FLAG("\u000E\u000E\u000E\u000E\u000E\u000E\u000E\u000E\u000E\u000E\u000E\u000E")
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencies {
implementation(project(":model"))
implementation(project(":tools:Inquirer"))
implementation(project(":tools:InteractiveParser"))
implementation(project(":dialogProvider"))
implementation(project(":analysers:AnalyserInterface"))

implementation(libs.boon)
implementation(libs.slf4j.simple)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package de.maibornwolff.codecharta.exporter.csv
package de.maibornwolff.codecharta.analysers.exporters.csv

import com.univocity.parsers.csv.CsvWriter
import com.univocity.parsers.csv.CsvWriterSettings
import de.maibornwolff.codecharta.analysers.analyserinterface.AnalyserInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.util.CodeChartaConstants
import de.maibornwolff.codecharta.model.Node
import de.maibornwolff.codecharta.model.Path
import de.maibornwolff.codecharta.model.Project
import de.maibornwolff.codecharta.serialization.FileExtension
import de.maibornwolff.codecharta.serialization.OutputFileHandler
import de.maibornwolff.codecharta.serialization.ProjectDeserializer
import de.maibornwolff.codecharta.tools.interactiveparser.InteractiveParser
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface
import de.maibornwolff.codecharta.tools.interactiveparser.util.CodeChartaConstants
import de.maibornwolff.codecharta.util.InputHelper
import de.maibornwolff.codecharta.util.Logger
import picocli.CommandLine
Expand All @@ -27,7 +27,7 @@ import java.util.concurrent.Callable
description = [CSVExporter.DESCRIPTION],
footer = [CodeChartaConstants.General.GENERIC_FOOTER]
)
class CSVExporter() : Callable<Unit>, InteractiveParser {
class CSVExporter() : Callable<Unit>, AnalyserInterface {
@CommandLine.Option(names = ["-h", "--help"], usageHelp = true, description = ["displays this help and exits"])
private var help = false

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package de.maibornwolff.codecharta.exporter.csv
package de.maibornwolff.codecharta.analysers.exporters.csv

import com.varabyte.kotter.runtime.RunScope
import com.varabyte.kotter.runtime.Session
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.dialogProvider.InputType
import de.maibornwolff.codecharta.dialogProvider.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.dialogProvider.myPromptInput
import de.maibornwolff.codecharta.dialogProvider.myPromptInputNumber
import de.maibornwolff.codecharta.serialization.FileExtension
import de.maibornwolff.codecharta.tools.inquirer.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.tools.inquirer.myPromptInput
import de.maibornwolff.codecharta.tools.inquirer.myPromptInputNumber
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface

class ParserDialog {
companion object : ParserDialogInterface {
override fun collectParserArgs(session: Session): List<String> {
val inputFileName: String = session.myPromptDefaultFileFolderInput(
inputType = de.maibornwolff.codecharta.tools.inquirer.InputType.FOLDER_AND_FILE,
inputType = InputType.FOLDER_AND_FILE,
fileExtensionList = listOf(FileExtension.CCJSON, FileExtension.CCGZ),
onInputReady = testCallback()
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.maibornwolff.codecharta.exporter.csvexporter
package de.maibornwolff.codecharta.analysers.exporters.csvexporter

import de.maibornwolff.codecharta.exporter.csv.CSVExporter
import de.maibornwolff.codecharta.analysers.exporters.csv.CSVExporter
import de.maibornwolff.codecharta.util.InputHelper
import de.maibornwolff.codecharta.util.Logger
import io.mockk.every
Expand Down Expand Up @@ -211,7 +211,7 @@ class CSVExporterTest {
@Test
fun `should write output to stdout when no output file specified`() {
// given
val inputFilePath = "../../test/data/codecharta/csvexport_input.cc.json"
val inputFilePath = "../../../test/data/codecharta/csvexport_input.cc.json"
System.setOut(PrintStream(outContent))

// when
Expand Down Expand Up @@ -246,7 +246,7 @@ class CSVExporterTest {
@Test
fun `should create correct output when depth-of-hierarchy is five`() {
// given
val filePath = "../../test/data/codecharta/csvexport_input.cc.json"
val filePath = "../../../test/data/codecharta/csvexport_input.cc.json"
val maxHierarchy = 5
val dirsZeroToFour = "dir0,dir1,dir2,dir3,dir4"
val dirsFiveToNine = "dir[5-9]"
Expand All @@ -267,7 +267,7 @@ class CSVExporterTest {

@Test
fun `should create correct output when depth-of-hierarchy is zero`() { // given
val filePath = "../../test/data/codecharta/csvexport_input.cc.json"
val filePath = "../../../test/data/codecharta/csvexport_input.cc.json"
val maxHierarchy = 0
System.setOut(PrintStream(outContent))

Expand All @@ -285,7 +285,7 @@ class CSVExporterTest {

@Test
fun `should fail to create output when depth-of-hierarchy is negative`() { // given
val filePath = "../../test/data/codecharta/csvexport_input.cc.json"
val filePath = "../../../test/data/codecharta/csvexport_input.cc.json"
val maxHierarchy = -1
System.setErr(PrintStream(errContent))

Expand All @@ -301,7 +301,7 @@ class CSVExporterTest {

@Test
fun `should log the correct absolute path when output file is specified`() { // given
val inputFilePath = "../../test/data/codecharta/csvexport_input.cc.json"
val inputFilePath = "../../../test/data/codecharta/csvexport_input.cc.json"
val outputFilePath = "src/test/resources/output.csv"
val absoluteOutputFilePath = File(outputFilePath).absolutePath
val outputFile = File(outputFilePath)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package de.maibornwolff.codecharta.exporter.csvexporter
package de.maibornwolff.codecharta.analysers.exporters.csvexporter

import com.varabyte.kotter.foundation.input.Keys
import com.varabyte.kotter.runtime.RunScope
import com.varabyte.kotter.runtime.terminal.inmemory.press
import com.varabyte.kotter.runtime.terminal.inmemory.type
import com.varabyte.kotterx.test.foundation.testSession
import de.maibornwolff.codecharta.exporter.csv.CSVExporter
import de.maibornwolff.codecharta.exporter.csv.ParserDialog
import de.maibornwolff.codecharta.exporter.csv.ParserDialog.Companion.collectParserArgs
import de.maibornwolff.codecharta.analysers.exporters.csv.CSVExporter
import de.maibornwolff.codecharta.analysers.exporters.csv.ParserDialog
import de.maibornwolff.codecharta.analysers.exporters.csv.ParserDialog.Companion.collectParserArgs
import io.mockk.every
import io.mockk.mockkObject
import org.assertj.core.api.Assertions.assertThat
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencies {
implementation(project(":model"))
implementation(project(":tools:InteractiveParser"))
implementation(project(":tools:Inquirer"))
implementation(project(":analysers:AnalyserInterface"))
implementation(project(":dialogProvider"))

implementation(libs.univocity.parsers)
implementation(libs.picocli)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import de.maibornwolff.codecharta.analysers.analyserinterface.AnalyserInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.util.CodeChartaConstants
import de.maibornwolff.codecharta.serialization.ProjectDeserializer
import de.maibornwolff.codecharta.serialization.ProjectSerializer
import de.maibornwolff.codecharta.tools.interactiveparser.InteractiveParser
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface
import de.maibornwolff.codecharta.tools.interactiveparser.util.CodeChartaConstants
import de.maibornwolff.codecharta.util.InputHelper
import picocli.CommandLine
import java.io.File
Expand All @@ -18,7 +18,7 @@ import java.util.concurrent.Callable
)
class EdgeFilter(
private val output: PrintStream = System.out
) : Callable<Unit?>, InteractiveParser {
) : Callable<Unit?>, AnalyserInterface {
@CommandLine.Option(names = ["-h", "--help"], usageHelp = true, description = ["displays this help and exits"])
var help: Boolean = false

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import de.maibornwolff.codecharta.model.AttributeDescriptor
import de.maibornwolff.codecharta.model.AttributeType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import com.varabyte.kotter.runtime.RunScope
import com.varabyte.kotter.runtime.Session
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.dialogProvider.InputType
import de.maibornwolff.codecharta.dialogProvider.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.dialogProvider.myPromptInput
import de.maibornwolff.codecharta.serialization.FileExtension
import de.maibornwolff.codecharta.tools.inquirer.InputType
import de.maibornwolff.codecharta.tools.inquirer.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.tools.inquirer.myPromptInput
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface
import de.maibornwolff.codecharta.util.Logger

class ParserDialog {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import de.maibornwolff.codecharta.filter.edgefilter.EdgeFilter.Companion.main
import de.maibornwolff.codecharta.analysers.filters.edgefilter.EdgeFilter.Companion.main
import de.maibornwolff.codecharta.util.InputHelper
import io.mockk.every
import io.mockk.mockkObject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import com.varabyte.kotter.foundation.input.Keys
import com.varabyte.kotter.runtime.RunScope
import com.varabyte.kotter.runtime.terminal.inmemory.press
import com.varabyte.kotter.runtime.terminal.inmemory.type
import com.varabyte.kotterx.test.foundation.testSession
import de.maibornwolff.codecharta.filter.edgefilter.ParserDialog.Companion.collectParserArgs
import de.maibornwolff.codecharta.analysers.filters.edgefilter.ParserDialog.Companion.collectParserArgs
import io.mockk.every
import io.mockk.mockkObject
import org.assertj.core.api.Assertions.assertThat
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.edgefilter
package de.maibornwolff.codecharta.analysers.filters.edgefilter

import de.maibornwolff.codecharta.model.AttributeDescriptor
import de.maibornwolff.codecharta.model.Node
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencies {
implementation(project(":model"))
implementation(project(":tools:InteractiveParser"))
implementation(project(":tools:Inquirer"))
implementation(project(":analysers:AnalyserInterface"))
implementation(project(":dialogProvider"))

implementation(libs.kotter)
implementation(libs.kotter.test)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.BlacklistItem
import de.maibornwolff.codecharta.model.Edge
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.MutableNode
import de.maibornwolff.codecharta.model.Path
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package de.maibornwolff.codecharta.analysers.filters.mergefilter

class MergeException(s: String) : RuntimeException(s)
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package de.maibornwolff.codecharta.filter.mergefilter

import de.maibornwolff.codecharta.filter.mergefilter.ParserDialog.Companion.askForceMerge
import de.maibornwolff.codecharta.filter.mergefilter.ParserDialog.Companion.requestMimoFileSelection
import de.maibornwolff.codecharta.filter.mergefilter.mimo.Mimo
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.analysers.analyserinterface.AnalyserInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.analysers.analyserinterface.runInTerminalSession
import de.maibornwolff.codecharta.analysers.analyserinterface.util.CodeChartaConstants
import de.maibornwolff.codecharta.analysers.filters.mergefilter.ParserDialog.Companion.askForceMerge
import de.maibornwolff.codecharta.analysers.filters.mergefilter.ParserDialog.Companion.requestMimoFileSelection
import de.maibornwolff.codecharta.analysers.filters.mergefilter.mimo.Mimo
import de.maibornwolff.codecharta.model.Project
import de.maibornwolff.codecharta.serialization.ProjectDeserializer
import de.maibornwolff.codecharta.serialization.ProjectSerializer
import de.maibornwolff.codecharta.tools.interactiveparser.InteractiveParser
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface
import de.maibornwolff.codecharta.tools.interactiveparser.runInTerminalSession
import de.maibornwolff.codecharta.tools.interactiveparser.util.CodeChartaConstants
import de.maibornwolff.codecharta.util.InputHelper
import de.maibornwolff.codecharta.util.Logger
import picocli.CommandLine
Expand All @@ -24,7 +24,7 @@ import java.util.concurrent.Callable
)
class MergeFilter(
private val output: PrintStream = System.out
) : Callable<Unit?>, InteractiveParser {
) : Callable<Unit?>, AnalyserInterface {
@CommandLine.Option(names = ["-h", "--help"], usageHelp = true, description = ["displays this help and exits"])
var help: Boolean = false

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.MutableNode

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import com.varabyte.kotter.runtime.RunScope
import com.varabyte.kotter.runtime.Session
import de.maibornwolff.codecharta.analysers.analyserinterface.ParserDialogInterface
import de.maibornwolff.codecharta.dialogProvider.InputType
import de.maibornwolff.codecharta.dialogProvider.InputValidator
import de.maibornwolff.codecharta.dialogProvider.myPromptCheckbox
import de.maibornwolff.codecharta.dialogProvider.myPromptConfirm
import de.maibornwolff.codecharta.dialogProvider.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.dialogProvider.myPromptInput
import de.maibornwolff.codecharta.dialogProvider.myPromptInputNumber
import de.maibornwolff.codecharta.dialogProvider.myPromptList
import de.maibornwolff.codecharta.serialization.FileExtension
import de.maibornwolff.codecharta.tools.inquirer.InputType
import de.maibornwolff.codecharta.tools.inquirer.InputValidator
import de.maibornwolff.codecharta.tools.inquirer.myPromptCheckbox
import de.maibornwolff.codecharta.tools.inquirer.myPromptConfirm
import de.maibornwolff.codecharta.tools.inquirer.myPromptDefaultFileFolderInput
import de.maibornwolff.codecharta.tools.inquirer.myPromptInput
import de.maibornwolff.codecharta.tools.inquirer.myPromptInputNumber
import de.maibornwolff.codecharta.tools.inquirer.myPromptList
import de.maibornwolff.codecharta.tools.interactiveparser.ParserDialogInterface
import java.io.File

class ParserDialog {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.AttributeDescriptor
import de.maibornwolff.codecharta.model.AttributeType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.MutableNode
import de.maibornwolff.codecharta.util.Logger
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.maibornwolff.codecharta.filter.mergefilter.mimo
package de.maibornwolff.codecharta.analysers.filters.mergefilter.mimo

import de.maibornwolff.codecharta.filter.mergefilter.ParserDialog
import de.maibornwolff.codecharta.tools.interactiveparser.runInTerminalSession
import de.maibornwolff.codecharta.analysers.analyserinterface.runInTerminalSession
import de.maibornwolff.codecharta.analysers.filters.mergefilter.ParserDialog
import de.maibornwolff.codecharta.util.Logger
import java.io.File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.maibornwolff.codecharta.filter.mergefilter
package de.maibornwolff.codecharta.analysers.filters.mergefilter

import de.maibornwolff.codecharta.model.MutableNode
import de.maibornwolff.codecharta.model.NodeType
Expand Down
Loading