From c45e3ff9643a6ab6967ec98d10aaf2ad840ea109 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Tue, 7 Feb 2023 18:20:49 -0600 Subject: [PATCH] deprecate yaml->workload and type->driver, and make loader more robust --- .../api/activityimpl/uniform/StandardActivity.java | 1 + .../activityimpl/uniform/StandardActivityType.java | 13 ++++++++----- .../core/lifecycle/activity/ActivityLoader.java | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivity.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivity.java index f21c8a468..b2377b9f1 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivity.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivity.java @@ -80,6 +80,7 @@ public class StandardActivity extends SimpleActivity implements for (OpTemplate ot : opTemplates) { ParsedOp incompleteOpDef = new ParsedOp(ot, NBConfiguration.empty(), List.of()); String driverName = incompleteOpDef.takeOptionalStaticValue("driver", String.class) + .or(() -> incompleteOpDef.takeOptionalStaticValue("type",String.class)) .or(() -> activityDef.getParams().getOptionalString("driver")) .orElseThrow(() -> new OpConfigError("Unable to identify driver name for op template:\n" + ot)); diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivityType.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivityType.java index c319852e6..b45b91de6 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivityType.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/StandardActivityType.java @@ -16,15 +16,15 @@ package io.nosqlbench.engine.api.activityimpl.uniform; +import io.nosqlbench.api.config.standard.NBConfigModel; +import io.nosqlbench.api.config.standard.NBConfiguration; +import io.nosqlbench.api.config.standard.NBReconfigurable; +import io.nosqlbench.api.engine.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityapi.core.ActionDispenser; import io.nosqlbench.engine.api.activityapi.core.ActivityType; import io.nosqlbench.engine.api.activityconfig.OpsLoader; import io.nosqlbench.engine.api.activityconfig.yaml.OpsDocList; -import io.nosqlbench.api.engine.activityimpl.ActivityDef; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; -import io.nosqlbench.api.config.standard.NBConfigModel; -import io.nosqlbench.api.config.standard.NBConfiguration; -import io.nosqlbench.api.config.standard.NBReconfigurable; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -39,7 +39,10 @@ public class StandardActivityType> extends Simpl private final Map adapters = new HashMap<>(); public StandardActivityType(DriverAdapter adapter, ActivityDef activityDef) { - super(activityDef); + super(activityDef + .deprecate("type","driver") + .deprecate("yaml", "workload") + ); this.adapters.put(adapter.getAdapterName(),adapter); if (adapter instanceof ActivityDefAware) { ((ActivityDefAware) adapter).setActivityDef(activityDef); diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/activity/ActivityLoader.java b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/activity/ActivityLoader.java index fb0f9bd95..97634ced7 100644 --- a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/activity/ActivityLoader.java +++ b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/activity/ActivityLoader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 nosqlbench + * Copyright (c) 2022-2023 nosqlbench * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ public class ActivityLoader { } public synchronized Activity loadActivity(ActivityDef activityDef) { + activityDef= activityDef.deprecate("yaml","workload").deprecate("type","driver"); Activity activity = new StandardActivityType(activityDef).getAssembledActivity(activityDef, activityMap); activityMap.put(activity.getAlias(),activity); logger.debug("Resolved activity for alias '" + activityDef.getAlias() + "'");