package org.opendaylight.dsbenchmark;
+import java.util.Random;
+
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public abstract class DatastoreAbstractWriter {
+ private static final Logger LOG = LoggerFactory.getLogger(DatastoreAbstractWriter.class);
+
protected final int outerListElem;
protected final int innerListElem;
protected final long writesPerTx;
protected final StartTestInput.Operation oper;
+ protected final StartTestInput.DataStore dataStore;
+ protected final Random rn = new Random();
+
protected int txOk = 0;
protected int txError = 0;
public DatastoreAbstractWriter(StartTestInput.Operation oper,
- int outerListElem, int innerListElem, long writesPerTx) {
+ int outerListElem, int innerListElem, long writesPerTx, DataStore dataStore) {
this.outerListElem = outerListElem;
this.innerListElem = innerListElem;
this.writesPerTx = writesPerTx;
this.oper = oper;
+ this.dataStore = dataStore;
+ LOG.info("DatastoreAbstractWriter created: {}", this);
}
public abstract void createList();
return txOk;
}
+ protected LogicalDatastoreType getDataStoreType() {
+ final LogicalDatastoreType dsType;
+ if (dataStore == DataStore.CONFIG) {
+ dsType = LogicalDatastoreType.CONFIGURATION;
+ }
+ else if (dataStore == DataStore.OPERATIONAL) {
+ dsType = LogicalDatastoreType.OPERATIONAL;
+ }
+ else
+ {
+ if (rn.nextInt() % 2 != 0) {
+ dsType = LogicalDatastoreType.OPERATIONAL;
+ } else {
+ dsType = LogicalDatastoreType.CONFIGURATION;
+ }
+ }
+ return dsType;
+ }
}