X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=benchmark%2Fdsbenchmark%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fdsbenchmark%2Fsimpletx%2FSimpletxDomRead.java;h=0edccbf3aff9b696b37b4d4652f705896246dfb7;hp=d644b1ede891b5d23a8e5befa750da04f9cc3872;hb=9ad9f0d0b72c07316c6282995b7f11abf57041c3;hpb=0a786119ca348a347b8a11625804bc1d2e635a49 diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java index d644b1ede8..0edccbf3af 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java @@ -11,11 +11,10 @@ package org.opendaylight.dsbenchmark.simpletx; import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; - -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; +import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; 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; @@ -23,6 +22,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchm import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,8 +32,8 @@ public class SimpletxDomRead extends DatastoreAbstractWriter { private static final Logger LOG = LoggerFactory.getLogger(SimpletxDomRead.class); private final DOMDataBroker domDataBroker; - public SimpletxDomRead(DOMDataBroker domDataBroker, int outerListElem, - int innerListElem, long writesPerTx, DataStore dataStore) { + public SimpletxDomRead(final DOMDataBroker domDataBroker, final int outerListElem, + final int innerListElem, final long writesPerTx, final DataStore dataStore) { super(StartTestInput.Operation.DELETE, outerListElem, innerListElem, writesPerTx, dataStore); this.domDataBroker = domDataBroker; LOG.info("Created simpleTxDomRead"); @@ -57,58 +57,30 @@ public class SimpletxDomRead extends DatastoreAbstractWriter { @Override public void executeList() { - org.opendaylight.yangtools.yang.common.QName OL_ID = QName.create(OuterList.QNAME, "id"); - DOMDataReadOnlyTransaction tx = domDataBroker.newReadOnlyTransaction(); + final LogicalDatastoreType dsType = getDataStoreType(); + final org.opendaylight.yangtools.yang.common.QName olId = QName.create(OuterList.QNAME, "id"); + final YangInstanceIdentifier pid = + YangInstanceIdentifier.builder().node(TestExec.QNAME).node(OuterList.QNAME).build(); - for (long l = 0; l < outerListElem; l++) { - NormalizedNode ret = null; - - YangInstanceIdentifier yid = YangInstanceIdentifier.builder() - .node(TestExec.QNAME) - .node(OuterList.QNAME) - .nodeWithKey(OuterList.QNAME, OL_ID, l) - .build(); - Optional> optionalDataObject; - CheckedFuture>, ReadFailedException> submitFuture = tx.read(LogicalDatastoreType.CONFIGURATION, yid); - try { - optionalDataObject = submitFuture.checkedGet(); - if (optionalDataObject != null && optionalDataObject.isPresent()) { - ret = optionalDataObject.get(); - LOG.info("/n" + String.valueOf(ret)); - txOk++; - } - /*if (optionalDataObject != null && optionalDataObject.isPresent()) { - ret = optionalDataObject.get(); - - String[] objectsArray = new String[ret.getInnerList().size()]; - - //LOG.info("innerList element: " + objectsArray ); - for (InnerList innerList : ret.getInnerList()) { - if (objectsArray[innerList.getName()] != null) { - LOG.error("innerList: DUPLICATE name: {}, value: {}", innerList.getName(), innerList.getValue()); - } - objectsArray[innerList.getName()] = innerList.getValue(); - // LOG.info("innerList: name: {}, value: {}", innerList.getName(), innerList.getValue()); + try (DOMDataReadOnlyTransaction tx = domDataBroker.newReadOnlyTransaction()) { + for (int l = 0; l < outerListElem; l++) { + YangInstanceIdentifier yid = pid.node(new NodeIdentifierWithPredicates(OuterList.QNAME, olId, l)); + CheckedFuture>, ReadFailedException> submitFuture = tx.read(dsType, yid); + try { + Optional> optionalDataObject = submitFuture.checkedGet(); + if (optionalDataObject != null && optionalDataObject.isPresent()) { + NormalizedNode ret = optionalDataObject.get(); + LOG.info("/n" + String.valueOf(ret)); + txOk++; + } else { + txError++; + LOG.warn("optionalDataObject is either null or .isPresent is false"); } - boolean foundAll = true; - for (int i = 0; i < ret.getInnerList().size(); i++) { - String itemStr = objectsArray[i]; - if (!itemStr.contentEquals("Item-" + String.valueOf(l) + "-" + String.valueOf(i))) { - foundAll = false; - LOG.error("innerList: name: {}, value: {}", i, itemStr); - break; - } - } - txOk++; - }*/ else { + } catch (ReadFailedException e) { + LOG.warn("failed to ....", e); txError++; - LOG.info("In the else part"); } - } catch (ReadFailedException e) { - LOG.warn("failed to ....", e); - txError++; } } } - }