diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2024-04-16 09:29:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-16 09:29:53 +0200 |
| commit | fff89d25bd3c7b874e68261d21695c473c30ed7d (patch) | |
| tree | be368dd745e8119dbdefd9cd0b012c7ff9080a7a /opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi | |
| parent | a7b0afbb5b7059274962ade234a50240677008fd (diff) | |
Revamped the trace system. All TraceFormat files are now in the api m… (#216)
* Revamped the trace system. All TraceFormat files are now in the api module. This fixes some problems with not being able to use types of traces
* applied spotless
Diffstat (limited to 'opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi')
| -rw-r--r-- | opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi/TraceFormat.kt | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi/TraceFormat.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi/TraceFormat.kt index 83537822..89cac608 100644 --- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi/TraceFormat.kt +++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/spi/TraceFormat.kt @@ -24,6 +24,13 @@ package org.opendc.trace.spi import org.opendc.trace.TableReader import org.opendc.trace.TableWriter +import org.opendc.trace.azure.AzureTraceFormat +import org.opendc.trace.bitbrains.BitbrainsTraceFormat +import org.opendc.trace.formats.opendc.OdcVmTraceFormat +import org.opendc.trace.gwf.GwfTraceFormat +import org.opendc.trace.swf.SwfTraceFormat +import org.opendc.trace.wfformat.WfFormatTraceFormat +import org.opendc.trace.wtf.WtfTraceFormat import java.nio.file.Path import java.util.ServiceLoader @@ -107,13 +114,31 @@ public interface TraceFormat { return ServiceLoader.load(TraceFormat::class.java) } +// /** +// * Obtain a [TraceFormat] implementation by [name]. +// */ +// @JvmStatic +// public fun byName(name: String): TraceFormat? { +// +// val loader = ServiceLoader.load(TraceFormat::class.java) +// return loader.find { it.name == name } +// } + /** * Obtain a [TraceFormat] implementation by [name]. */ @JvmStatic public fun byName(name: String): TraceFormat? { - val loader = ServiceLoader.load(TraceFormat::class.java) - return loader.find { it.name == name } + return when (name) { + "opendc-vm" -> OdcVmTraceFormat() + "azure" -> AzureTraceFormat() + "bitbrains" -> BitbrainsTraceFormat() + "gwf" -> GwfTraceFormat() + "swf" -> SwfTraceFormat() + "wfformat" -> WfFormatTraceFormat() + "wtf" -> WtfTraceFormat() + else -> null + } } } } |
