diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/ArchitectureModel.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/ArchitectureModel.java index b79f8b594..0b84063aa 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/ArchitectureModel.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/ArchitectureModel.java @@ -3,6 +3,7 @@ import java.util.List; +import edu.kit.kastel.mcse.ardoco.core.api.models.Metamodel; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.architecture.ArchitectureItem; /** @@ -24,29 +25,33 @@ public ArchitectureModel(List content) { @Override public List getContent() { - return content; + return this.content; } @Override public List getEndpoints() { - return getContent(); + return this.getContent(); + } + + @Override + public Metamodel getMetamodel() { + return Metamodel.ARCHITECTURE; } @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (!(o instanceof ArchitectureModel that)) - return false; - if (!super.equals(o)) + } + if (!(o instanceof ArchitectureModel that) || !super.equals(o)) { return false; - return content.equals(that.content); + } + return this.content.equals(that.content); } @Override public int hashCode() { int result = super.hashCode(); - result = 31 * result + content.hashCode(); - return result; + return 31 * result + this.content.hashCode(); } } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/CodeModel.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/CodeModel.java index f30432f3a..f5ecb4861 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/CodeModel.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/CodeModel.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import edu.kit.kastel.mcse.ardoco.core.api.entity.Entity; +import edu.kit.kastel.mcse.ardoco.core.api.models.Metamodel; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.code.CodeCompilationUnit; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.code.CodeItem; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.code.CodeItemRepository; @@ -51,22 +52,27 @@ public CodeModel(CodeItemRepository codeItemRepository, SortedSet getContentIds() { - initialize(); - return content; + this.initialize(); + return this.content; } @Override public List getContent() { - initialize(); - return codeItemRepository.getCodeItemsFromIds(content); + this.initialize(); + return this.codeItemRepository.getCodeItemsFromIds(this.content); } @Override public List getEndpoints() { List compilationUnits = new ArrayList<>(); - getContent().forEach(c -> compilationUnits.addAll(c.getAllCompilationUnits())); + this.getContent().forEach(c -> compilationUnits.addAll(c.getAllCompilationUnits())); return compilationUnits; } @@ -77,7 +83,7 @@ public List getEndpoints() { */ public List getAllPackages() { List codePackages = new ArrayList<>(); - var lContent = getContent(); + var lContent = this.getContent(); for (CodeItem c : lContent) { var allPackages = c.getAllPackages(); for (CodePackage cp : allPackages) { @@ -91,31 +97,28 @@ public List getAllPackages() { } private synchronized void initialize() { - if (initialized) + if (this.initialized) { return; + } this.codeItemRepository.init(); - initialized = true; + this.initialized = true; } @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (!(o instanceof CodeModel codeModel)) - return false; - if (!super.equals(o)) - return false; - - if (!Objects.equals(codeItemRepository, codeModel.codeItemRepository)) + } + if (!(o instanceof CodeModel codeModel) || !super.equals(o) || !Objects.equals(this.codeItemRepository, codeModel.codeItemRepository)) { return false; - return Objects.equals(content, codeModel.content); + } + return Objects.equals(this.content, codeModel.content); } @Override public int hashCode() { int result = super.hashCode(); - result = 31 * result + (codeItemRepository != null ? codeItemRepository.hashCode() : 0); - result = 31 * result + (content != null ? content.hashCode() : 0); - return result; + result = 31 * result + (this.codeItemRepository != null ? this.codeItemRepository.hashCode() : 0); + return 31 * result + (this.content != null ? this.content.hashCode() : 0); } } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/Model.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/Model.java index f36666a3b..3323c0f48 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/Model.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/Model.java @@ -4,6 +4,7 @@ import java.util.List; import edu.kit.kastel.mcse.ardoco.core.api.entity.Entity; +import edu.kit.kastel.mcse.ardoco.core.api.models.Metamodel; import edu.kit.kastel.mcse.ardoco.core.common.IdentifierProvider; public abstract sealed class Model permits ArchitectureModel, CodeModel { @@ -27,4 +28,6 @@ public String getId() { * @return the endpoints of this model */ public abstract List getEndpoints(); + + public abstract Metamodel getMetamodel(); } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/connectiongenerator/InstanceLink.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/connectiongenerator/InstanceLink.java index e9ae9d999..cdba37a10 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/connectiongenerator/InstanceLink.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/connectiongenerator/InstanceLink.java @@ -15,7 +15,6 @@ import edu.kit.kastel.mcse.ardoco.core.api.stage.textextraction.NounMapping; import edu.kit.kastel.mcse.ardoco.core.architecture.Deterministic; import edu.kit.kastel.mcse.ardoco.core.common.AggregationFunctions; -import edu.kit.kastel.mcse.ardoco.core.common.Internal; import edu.kit.kastel.mcse.ardoco.core.data.Confidence; import edu.kit.kastel.mcse.ardoco.core.pipeline.agent.Claimant; @@ -23,7 +22,6 @@ * An InstanceLink defines a link between an {@link RecommendedInstance} and an {@link ModelInstance}. */ @Deterministic -@Internal public class InstanceLink implements Serializable { private static final long serialVersionUID = -8630933950725516269L; diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/recommendationgenerator/RecommendationStateStrategy.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/recommendationgenerator/RecommendationStateStrategy.java index d74478ea4..52389938f 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/recommendationgenerator/RecommendationStateStrategy.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/recommendationgenerator/RecommendationStateStrategy.java @@ -1,9 +1,7 @@ /* Licensed under MIT 2024. */ package edu.kit.kastel.mcse.ardoco.core.api.stage.recommendationgenerator; -import java.io.Serializable; - -public interface RecommendationStateStrategy extends Serializable { +public interface RecommendationStateStrategy { boolean areRecommendedInstanceTypesSimilar(String typeA, String typeB); boolean areRecommendedInstanceNamesSimilar(String nameA, String nameB); diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/NounMappingChangeListener.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/NounMappingChangeListener.java index db4a34535..13c44922c 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/NounMappingChangeListener.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/NounMappingChangeListener.java @@ -1,8 +1,10 @@ /* Licensed under MIT 2022-2024. */ package edu.kit.kastel.mcse.ardoco.core.api.stage.textextraction; -import java.io.Serializable; - -public interface NounMappingChangeListener extends Serializable { +/** + * @deprecated should be replaced to make mappings serializable + */ +@Deprecated +public interface NounMappingChangeListener { void onDelete(NounMapping deletedNounMapping, NounMapping replacement); } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/PhraseMappingChangeListener.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/PhraseMappingChangeListener.java index 2e5ee8c9d..058fe7adc 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/PhraseMappingChangeListener.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/PhraseMappingChangeListener.java @@ -1,8 +1,10 @@ /* Licensed under MIT 2022-2024. */ package edu.kit.kastel.mcse.ardoco.core.api.stage.textextraction; -import java.io.Serializable; - -public interface PhraseMappingChangeListener extends Serializable { +/** + * @deprecated should be replaced to make mappings serializable + */ +@Deprecated +public interface PhraseMappingChangeListener { void onDelete(PhraseMapping deletedPhraseMapping, PhraseMapping replacement); } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/TextStateStrategy.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/TextStateStrategy.java index 4e6224488..331e90a14 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/TextStateStrategy.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/stage/textextraction/TextStateStrategy.java @@ -3,8 +3,6 @@ import static edu.kit.kastel.mcse.ardoco.core.common.AggregationFunctions.AVERAGE; -import java.io.Serializable; - import org.eclipse.collections.api.list.ImmutableList; import org.eclipse.collections.api.map.sorted.ImmutableSortedMap; import org.eclipse.collections.api.set.sorted.ImmutableSortedSet; @@ -18,7 +16,7 @@ * The Interface for strategies for the text state. Responsible for creating {@link NounMapping NounMappings} from their constituent parts in a variety of * situations. */ -public interface TextStateStrategy extends Serializable { +public interface TextStateStrategy { /** * Aggregation function used to aggregate multiple confidences into a single value */ diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/text/DependencyTag.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/text/DependencyTag.java index 881059d4e..75056c492 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/text/DependencyTag.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/text/DependencyTag.java @@ -1,12 +1,10 @@ /* Licensed under MIT 2021-2024. */ package edu.kit.kastel.mcse.ardoco.core.api.text; -import java.io.Serializable; - /** * All possible dependency tags in the framework. */ -public enum DependencyTag implements Serializable { +public enum DependencyTag { /** * An appositional modifier of an NP is an NP immediately to the right of the first NP that serves to define or diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/AggregationFunctions.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/AggregationFunctions.java index 4b413f1cb..6af6e7cc6 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/AggregationFunctions.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/AggregationFunctions.java @@ -1,14 +1,13 @@ /* Licensed under MIT 2022-2024. */ package edu.kit.kastel.mcse.ardoco.core.common; -import java.io.Serializable; import java.util.Collection; import java.util.function.ToDoubleFunction; /** * A set of various aggregation functions for collections of numbers. */ -public enum AggregationFunctions implements ToDoubleFunction>, Serializable { +public enum AggregationFunctions implements ToDoubleFunction> { /** * Use the median of the scores as final score. */ diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/Internal.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/Internal.java deleted file mode 100644 index a05a573d2..000000000 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/Internal.java +++ /dev/null @@ -1,18 +0,0 @@ -/* Licensed under MIT 2022-2023. */ -package edu.kit.kastel.mcse.ardoco.core.common; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marks a method or class as only for internal use. Classes and methods that are marked with this annotation are - * subject of change. - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.CONSTRUCTOR }) -public @interface Internal { -} diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/tuple/Triple.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/tuple/Triple.java index a28514658..9ef6196d1 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/tuple/Triple.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/common/tuple/Triple.java @@ -3,5 +3,6 @@ import java.io.Serializable; -public record Triple(T first, U second, V third) implements Serializable { +// TODO Make T Serializable (Claimant) ?? +public record Triple(T first, U second, V third) implements Serializable { } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Claimant.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Claimant.java index 5940e58c9..a3b7d8c34 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Claimant.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Claimant.java @@ -1,11 +1,9 @@ /* Licensed under MIT 2022-2024. */ package edu.kit.kastel.mcse.ardoco.core.pipeline.agent; -import java.io.Serializable; - /** * This is a marker interface for classes that claim something, i.e., an intermediate result with usually a certain confidence. */ -// TODO Serializable for Confidence -public interface Claimant extends Serializable { +// TODO Serializable for Confidence ?? +public interface Claimant { } diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Informant.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Informant.java index 3caee08dc..324bc99ef 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Informant.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/Informant.java @@ -7,7 +7,6 @@ import edu.kit.kastel.mcse.ardoco.core.pipeline.AbstractPipelineStep; public abstract class Informant extends AbstractPipelineStep implements Claimant { - private static final long serialVersionUID = -5249465765417831157L; protected Informant(String id, DataRepository dataRepository) { super(id, dataRepository); @@ -15,12 +14,12 @@ protected Informant(String id, DataRepository dataRepository) { @Override protected void before() { - //Nothing by default + // Nothing by default } @Override protected void after() { - //Nothing by default + // Nothing by default } @Override diff --git a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/PipelineAgent.java b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/PipelineAgent.java index 5daf0ec24..b4f13215e 100644 --- a/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/PipelineAgent.java +++ b/framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/pipeline/agent/PipelineAgent.java @@ -18,7 +18,6 @@ * initialization before the main processing. */ public abstract class PipelineAgent extends Pipeline implements Agent { - private static final long serialVersionUID = -2278691353857150422L; private final List informants; diff --git a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ProcessedTextData.java b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ProcessedTextData.java index 3670c9b75..a4e5ed0cb 100644 --- a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ProcessedTextData.java +++ b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ProcessedTextData.java @@ -9,6 +9,7 @@ * Example {@link PipelineStepData} */ public class ProcessedTextData implements PipelineStepData { + private static final long serialVersionUID = -6806096212069462237L; private List importantTokens = null; public ProcessedTextData() { @@ -16,7 +17,7 @@ public ProcessedTextData() { } public List getImportantTokens() { - return importantTokens; + return this.importantTokens; } public void setImportantTokens(List importantTokens) { diff --git a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ResultData.java b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ResultData.java index c78d69832..b780a33c2 100644 --- a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ResultData.java +++ b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/ResultData.java @@ -7,10 +7,11 @@ * Example {@link PipelineStepData} */ public class ResultData implements PipelineStepData { + private static final long serialVersionUID = 9183617106768927240L; private String result = null; public String getResult() { - return result; + return this.result; } public void setResult(String result) { diff --git a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/TextData.java b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/TextData.java index eeab28ca9..ebd34c174 100644 --- a/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/TextData.java +++ b/framework/common/src/test/java/edu/kit/kastel/mcse/ardoco/core/data/impl/TextData.java @@ -10,6 +10,7 @@ * Example {@link PipelineStepData} */ public class TextData implements PipelineStepData { + private static final long serialVersionUID = 3062730501023901345L; private final String text; private List tokens; @@ -18,7 +19,7 @@ public TextData(String text) { } public List getTokens() { - return tokens; + return this.tokens; } public void setTokens(List tokens) { @@ -26,23 +27,25 @@ public void setTokens(List tokens) { } public String getText() { - return text; + return this.text; } @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (o == null || getClass() != o.getClass()) + } + if (o == null || this.getClass() != o.getClass()) { return false; + } TextData textData = (TextData) o; - return Objects.equals(text, textData.text); + return Objects.equals(this.text, textData.text); } @Override public int hashCode() { - return text != null ? text.hashCode() : 0; + return this.text != null ? this.text.hashCode() : 0; } } diff --git a/framework/text-provider-json/src/main/java/edu/kit/kastel/mcse/ardoco/core/textproviderjson/textobject/DependencyImpl.java b/framework/text-provider-json/src/main/java/edu/kit/kastel/mcse/ardoco/core/textproviderjson/textobject/DependencyImpl.java index 7de835a38..1ec82af43 100644 --- a/framework/text-provider-json/src/main/java/edu/kit/kastel/mcse/ardoco/core/textproviderjson/textobject/DependencyImpl.java +++ b/framework/text-provider-json/src/main/java/edu/kit/kastel/mcse/ardoco/core/textproviderjson/textobject/DependencyImpl.java @@ -8,6 +8,7 @@ public class DependencyImpl implements Serializable { + private static final long serialVersionUID = -6941672414051586496L; private final DependencyTag dependencyType; private final long wordId; @@ -17,24 +18,26 @@ public DependencyImpl(DependencyTag type, long wordId) { } public long getWordId() { - return wordId; + return this.wordId; } public DependencyTag getDependencyTag() { - return dependencyType; + return this.dependencyType; } @Override public boolean equals(Object o) { - if (this == o) + if (this == o) { return true; - if (!(o instanceof DependencyImpl that)) + } + if (!(o instanceof DependencyImpl that)) { return false; - return wordId == that.wordId && dependencyType == that.dependencyType; + } + return this.wordId == that.wordId && this.dependencyType == that.dependencyType; } @Override public int hashCode() { - return Objects.hash(dependencyType, wordId); + return Objects.hash(this.dependencyType, this.wordId); } } diff --git a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/output/ArDoCoResult.java b/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/output/ArDoCoResult.java index da54073d5..b6140dfbc 100644 --- a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/output/ArDoCoResult.java +++ b/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/output/ArDoCoResult.java @@ -20,6 +20,7 @@ import edu.kit.kastel.mcse.ardoco.core.api.entity.ArchitectureEntity; import edu.kit.kastel.mcse.ardoco.core.api.models.Metamodel; import edu.kit.kastel.mcse.ardoco.core.api.models.ModelStates; +import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.Model; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.architecture.legacy.LegacyModelExtractionState; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.architecture.legacy.ModelInstance; import edu.kit.kastel.mcse.ardoco.core.api.models.arcotl.code.CodeCompilationUnit; diff --git a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ArDoCoRunner.java b/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ArDoCoRunner.java index 51269f013..f92813312 100644 --- a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ArDoCoRunner.java +++ b/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ArDoCoRunner.java @@ -5,7 +5,6 @@ import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serial; -import java.io.Serializable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,7 +13,7 @@ import edu.kit.kastel.mcse.ardoco.core.data.DataRepository; import edu.kit.kastel.mcse.ardoco.core.execution.ArDoCo; -public abstract class ArDoCoRunner implements Serializable { +public abstract class ArDoCoRunner { private static final Logger logger = LoggerFactory.getLogger(ArDoCoRunner.class); private final transient ArDoCo arDoCo; @@ -24,18 +23,18 @@ public abstract class ArDoCoRunner implements Serializable { protected ArDoCoRunner(String projectName) { this.arDoCo = new ArDoCo(projectName); - outputDirectory = null; + this.outputDirectory = null; } public boolean isSetUp() { - return isSetUp; + return this.isSetUp; } public final ArDoCoResult run() { - if (this.isSetUp() && outputDirectory != null) { - return this.getArDoCo().runAndSave(outputDirectory); + if (this.isSetUp() && this.outputDirectory != null) { + return this.getArDoCo().runAndSave(this.outputDirectory); } else { - logger.error("Cannot run ArDoCo because the runner is not properly set up."); + ArDoCoRunner.logger.error("Cannot run ArDoCo because the runner is not properly set up."); return null; } } @@ -48,7 +47,7 @@ public final DataRepository runWithoutSaving() { this.getArDoCo().run(); return this.getArDoCo().getDataRepository(); } else { - logger.error("Cannot run ArDoCo because the runner is not properly set up."); + ArDoCoRunner.logger.error("Cannot run ArDoCo because the runner is not properly set up."); return null; } } @@ -63,8 +62,9 @@ protected void setOutputDirectory(File outputDirectory) { @Serial private void writeObject(ObjectOutputStream out) throws IOException { - if (!getArDoCo().wasExecuted()) - runWithoutSaving(); + if (!this.getArDoCo().wasExecuted()) { + this.runWithoutSaving(); + } out.defaultWriteObject(); } } diff --git a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ParameterizedRunner.java b/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ParameterizedRunner.java deleted file mode 100644 index 042740e16..000000000 --- a/pipeline-core/src/main/java/edu/kit/kastel/mcse/ardoco/core/execution/runner/ParameterizedRunner.java +++ /dev/null @@ -1,53 +0,0 @@ -/* Licensed under MIT 2023-2024. */ -package edu.kit.kastel.mcse.ardoco.core.execution.runner; - -import java.io.IOException; -import java.io.Serializable; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import edu.kit.kastel.mcse.ardoco.core.pipeline.AbstractPipelineStep; - -/** - * An {@link ArDoCoRunner} that takes a record of type {@code } to set itself up. - * - * @param a record containing the parameters required to set up the runner - */ -public abstract class ParameterizedRunner extends ArDoCoRunner implements Serializable { - private static final Logger logger = LoggerFactory.getLogger(ParameterizedRunner.class); - - protected ParameterizedRunner(String projectName, T parameters) { - super(projectName); - setUp(parameters); - } - - /** - * Sets up the runner using {@link #initializePipelineSteps}. {@link #isSetUp} must return true, if successful. - * - * @param p Contains the parameters used during setup - * @return List of AbstractPipelineSteps this runner consists of - */ - private List setUp(T p) { - try { - var arDoCo = getArDoCo(); - var pipelineSteps = initializePipelineSteps(p); - pipelineSteps.forEach(arDoCo::addPipelineStep); - isSetUp = true; - return pipelineSteps; - } catch (IOException e) { - logger.error("Problem in initialising pipeline when loading data (IOException)", e.getCause()); - isSetUp = false; - return List.of(); - } - } - - /** - * Initializes and returns the pipeline steps according to the supplied parameters - * - * @param p the supplied parameters - * @throws IOException can occur when loading data - */ - public abstract List initializePipelineSteps(T p) throws IOException; -}