mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2024-11-21 08:24:25 -06:00
Cleanup for Deprecated ActivityType (#2079)
* Cleanup for Deprecated ActivityType * Rename ActivtyType class * Use StandardActivityType
This commit is contained in:
parent
a8ab07a1f5
commit
68b148575f
@ -36,7 +36,7 @@ import java.util.function.Function;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
/**
|
||||
* <P>The DriverAdapter interface is expected to be the replacement
|
||||
* <P>The DriverAdapter interface is the replacement
|
||||
* for ActivityTypes. This interface takes a simpler
|
||||
* approach. Specifically, all of the core logic which was being pasted into each
|
||||
* driver type is centralized, and only the necessary interfaces
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2022-2023 nosqlbench
|
||||
* Copyright (c) nosqlbench
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -29,15 +29,16 @@ import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* <p>An ActivityType is the central extension point in NB for new
|
||||
* activity types drivers. It is responsible for naming the activity type, as well as providing
|
||||
* <p>An ActivityType was the central extension point in NB for new
|
||||
* activity types drivers. Please use DriverAdapter instead.
|
||||
* It is responsible for naming the activity type, as well as providing
|
||||
* the input, activity, and motor instances that will be assembled into an activity.</p>
|
||||
* <p>At the very minimum, a useful implementation of an activity type should provide
|
||||
* an action dispenser. Default implementations of input and motor dispensers are provided,
|
||||
* and by extension, default inputs and motors.</p>
|
||||
*/
|
||||
//@Deprecated(forRemoval = true,since = "5.0")
|
||||
public interface ActivityType<A extends Activity> {
|
||||
public interface LegacyActivityType<A extends Activity> {
|
||||
|
||||
|
||||
/**
|
@ -20,14 +20,14 @@ import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter;
|
||||
import io.nosqlbench.nb.api.components.core.NBComponent;
|
||||
import io.nosqlbench.nb.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.activityapi.core.LegacyActivityType;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class StandardActivityType<A extends StandardActivity<?,?>> implements ActivityType<A> {
|
||||
public class StandardActivityType<A extends StandardActivity<?,?>> implements LegacyActivityType<A> {
|
||||
|
||||
private static final Logger logger = LogManager.getLogger("ACTIVITY");
|
||||
private final Map<String, DriverAdapter> adapters = new HashMap<>();
|
||||
|
@ -25,7 +25,6 @@ import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
import io.nosqlbench.nb.api.spi.SimpleServiceLoader;
|
||||
import io.nosqlbench.nb.api.system.NBEnvironment;
|
||||
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
|
||||
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivityType;
|
||||
import io.nosqlbench.nb.annotations.Maturity;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -42,13 +41,12 @@ import java.util.stream.Collectors;
|
||||
public class ActivityTypeLoader {
|
||||
|
||||
private static final Logger logger = LogManager.getLogger(ActivityTypeLoader.class);
|
||||
private final SimpleServiceLoader<ActivityType> ACTIVITYTYPE_SPI_FINDER = new SimpleServiceLoader<ActivityType>(ActivityType.class, Maturity.Any);
|
||||
private final SimpleServiceLoader<DriverAdapter> DRIVERADAPTER_SPI_FINDER = new SimpleServiceLoader<>(DriverAdapter.class, Maturity.Any);
|
||||
private final SimpleServiceLoader<DriverAdapterLoader> DRIVERADAPTERLOADER_SPI_FINDER = new SimpleServiceLoader<>(DriverAdapterLoader.class, Maturity.Any);
|
||||
private final Set<URL> jarUrls = new HashSet<>();
|
||||
|
||||
public ActivityTypeLoader setMaturity(final Maturity maturity) {
|
||||
this.ACTIVITYTYPE_SPI_FINDER.setMaturity(maturity);
|
||||
this.DRIVERADAPTER_SPI_FINDER.setMaturity(maturity);
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -120,7 +118,7 @@ public class ActivityTypeLoader {
|
||||
return urlsToAdd;
|
||||
}
|
||||
|
||||
public Optional<ActivityType> load(final ActivityDef activityDef, final NBComponent parent) {
|
||||
public Optional<StandardActivityType> load(final ActivityDef activityDef, final NBComponent parent) {
|
||||
|
||||
String driverName = activityDef.getParams()
|
||||
.getOptionalString("driver", "type")
|
||||
@ -137,18 +135,17 @@ public class ActivityTypeLoader {
|
||||
})
|
||||
.ifPresent(this::extendClassLoader);
|
||||
|
||||
return getDriverAdapter(driverName,activityDef,parent)
|
||||
.or(() -> this.ACTIVITYTYPE_SPI_FINDER.getOptionally(driverName));
|
||||
return getDriverAdapter(driverName,activityDef,parent);
|
||||
|
||||
}
|
||||
|
||||
private Optional<ActivityType> getDriverAdapter(final String activityTypeName, final ActivityDef activityDef, final NBComponent parent) {
|
||||
private Optional<StandardActivityType> getDriverAdapter(final String activityTypeName, final ActivityDef activityDef, final NBComponent parent) {
|
||||
final Optional<DriverAdapter> oda = this.DRIVERADAPTER_SPI_FINDER.getOptionally(activityTypeName);
|
||||
|
||||
if (oda.isPresent()) {
|
||||
final DriverAdapter<?, ?> driverAdapter = oda.get();
|
||||
|
||||
final ActivityType activityType = new StandardActivityType<>(driverAdapter, activityDef, parent);
|
||||
final StandardActivityType activityType = new StandardActivityType<>(driverAdapter, activityDef, parent);
|
||||
return Optional.of(activityType);
|
||||
}
|
||||
return Optional.empty();
|
||||
|
@ -25,8 +25,6 @@ import io.nosqlbench.nb.api.nbio.Content;
|
||||
import io.nosqlbench.nb.api.nbio.NBIO;
|
||||
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
|
||||
import io.nosqlbench.engine.core.lifecycle.activity.ActivityTypeLoader;
|
||||
import io.nosqlbench.nb.annotations.Service;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
@ -27,8 +27,6 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
// TODO: Consider using "Driver Adapter" or "Workload Adapter" instead of ActivityType
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* A ParsedTemplate represents any string provided by a user which is meant to be
|
||||
|
Loading…
Reference in New Issue
Block a user