import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
import org.opendaylight.netconf.mdsal.connector.CurrentSchemaContext;
import org.opendaylight.netconf.mdsal.connector.TransactionProvider;
-import org.opendaylight.netconf.mdsal.connector.ops.Datastore;
-import org.opendaylight.yangtools.yang.common.ErrorSeverity;
-import org.opendaylight.yangtools.yang.common.ErrorTag;
-import org.opendaylight.yangtools.yang.common.ErrorType;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.slf4j.Logger;
import org.w3c.dom.Element;
public class Get extends AbstractGet {
-
private static final Logger LOG = LoggerFactory.getLogger(Get.class);
-
private static final String OPERATION_NAME = "get";
+
private final TransactionProvider transactionProvider;
public Get(final String netconfSessionIdForReporting, final CurrentSchemaContext schemaContext,
- final TransactionProvider transactionProvider) {
+ final TransactionProvider transactionProvider) {
super(netconfSessionIdForReporting, schemaContext);
this.transactionProvider = transactionProvider;
}
final YangInstanceIdentifier dataRoot = dataRootOptional.orElseThrow();
- final DOMDataTreeReadWriteTransaction rwTx = getTransaction(Datastore.running);
+ final DOMDataTreeReadWriteTransaction rwTx = transactionProvider.createRunningTransaction();
try {
final Optional<NormalizedNode> normalizedNodeOptional = rwTx.read(
LogicalDatastoreType.OPERATIONAL, dataRoot).get();
}
}
- private DOMDataTreeReadWriteTransaction getTransaction(final Datastore datastore) throws DocumentedException {
- if (datastore == Datastore.candidate) {
- return transactionProvider.getOrCreateTransaction();
- } else if (datastore == Datastore.running) {
- return transactionProvider.createRunningTransaction();
- }
- throw new DocumentedException("Incorrect Datastore: ", ErrorType.PROTOCOL, ErrorTag.BAD_ELEMENT,
- ErrorSeverity.ERROR);
- }
-
@Override
protected String getOperationName() {
return OPERATION_NAME;