SchemaContextHandler does not need transaction chains at this point.
When it will need them, it will manage their lifecycle on its own.
JIRA: NETCONF-773
Change-Id: I89587b9777cb1ae7aa0b0fe628e3fa4ef16e83a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import org.apache.aries.blueprint.annotation.service.Reference;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.nb.rfc8040.Rfc8040.IetfYangLibrary;
import org.opendaylight.restconf.nb.rfc8040.utils.mapping.RestconfMappingNodeUtil;
private final AtomicInteger moduleSetId = new AtomicInteger(0);
- private final TransactionChainHandler transactionChainHandler;
+ private final DOMDataBroker domDataBroker;
private final DOMSchemaService domSchemaService;
private ListenerRegistration<?> listenerRegistration;
private volatile EffectiveModelContext schemaContext;
- /**
- * Constructor.
- *
- * @param transactionChainHandler Transaction chain handler
- */
@Inject
- public SchemaContextHandler(final TransactionChainHandler transactionChainHandler,
- final @Reference DOMSchemaService domSchemaService) {
- this.transactionChainHandler = transactionChainHandler;
- this.domSchemaService = domSchemaService;
+ public SchemaContextHandler(@Reference final DOMDataBroker domDataBroker,
+ @Reference final DOMSchemaService domSchemaService) {
+ this.domDataBroker = requireNonNull(domDataBroker);
+ this.domSchemaService = requireNonNull(domSchemaService);
}
@PostConstruct
}
private void putData(final ContainerNode normNode) {
- final DOMTransactionChain transactionChain = this.transactionChainHandler.get();
- final DOMDataTreeWriteTransaction wTx = transactionChain.newWriteOnlyTransaction();
+ final DOMDataTreeWriteTransaction wTx = domDataBroker.newWriteOnlyTransaction();
wTx.put(LogicalDatastoreType.OPERATIONAL,
YangInstanceIdentifier.create(NodeIdentifier.create(normNode.getIdentifier().getNodeType())), normNode);
try {
} else {
throw new RestconfDocumentedException("Problem occurred while putting data to DS.", failure);
}
- } finally {
- transactionChain.close();
}
}
}
import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag;
import org.opendaylight.restconf.common.errors.RestconfError.ErrorType;
import org.opendaylight.restconf.nb.rfc8040.Rfc8040;
+import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
import org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfStreamsSubscriptionServiceImpl.HandlersHolder;
import org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfStreamsSubscriptionServiceImpl.NotificationQueryParams;
import org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants;
notificationQueryParams.getStop().orElse(null),
notificationQueryParams.getFilter().orElse(null),
false, notificationQueryParams.isSkipNotificationData());
- notificationListenerAdapter.setCloseVars(
- handlersHolder.getTransactionChainHandler(), handlersHolder.getSchemaHandler());
+ final DOMDataBroker dataBroker = handlersHolder.getDataBroker();
+ notificationListenerAdapter.setCloseVars(dataBroker, handlersHolder.getSchemaHandler());
final MapEntryNode mapToStreams = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
notificationListenerAdapter.getSchemaPath().lastNodeIdentifier(),
schemaContext.getNotifications(), notificationQueryParams.getStart(),
notificationListenerAdapter.getOutputType(), uri);
- final DOMDataTreeWriteTransaction writeTransaction = handlersHolder.getDataBroker().newWriteOnlyTransaction();
+ // FIXME: how does this correlate with the transaction notificationListenerAdapter.close() will do?
+ final DOMDataTreeWriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
writeDataToDS(writeTransaction, mapToStreams);
submitData(writeTransaction);
return uri;
notificationQueryParams.getStop().orElse(null),
notificationQueryParams.getFilter().orElse(null),
false, notificationQueryParams.isSkipNotificationData());
- listener.setCloseVars(handlersHolder.getTransactionChainHandler(), handlersHolder.getSchemaHandler());
- final LogicalDatastoreType datastoreType = LogicalDatastoreType.valueOf(datastoreParam);
final DOMDataBroker dataBroker = handlersHolder.getDataBroker();
+ final SchemaContextHandler schemaHandler = handlersHolder.getSchemaHandler();
+ listener.setCloseVars(dataBroker, schemaHandler);
+
+ final LogicalDatastoreType datastoreType = LogicalDatastoreType.valueOf(datastoreParam);
registration(datastoreType, listener, dataBroker);
final URI uri = prepareUriByStreamName(uriInfo, streamName);
- final EffectiveModelContext schemaContext = handlersHolder.getSchemaHandler().get();
+ final EffectiveModelContext schemaContext = schemaHandler.get();
final String serializedPath = IdentifierCodec.serialize(listener.getPath(), schemaContext);
final MapEntryNode mapToStreams =
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+import java.util.concurrent.ExecutionException;
import org.opendaylight.restconf.nb.rfc8040.streams.StreamSessionHandler;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.slf4j.Logger;
}
@Override
- public final synchronized void close() throws Exception {
+ public final synchronized void close() throws InterruptedException, ExecutionException {
if (this.registration != null) {
this.registration.close();
this.registration = null;
}
- deleteDataInDS();
+ deleteDataInDS().get();
this.subscribers.clear();
}
*/
package org.opendaylight.restconf.nb.rfc8040.streams.listeners;
+import com.google.common.util.concurrent.ListenableFuture;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.nb.rfc8040.Rfc8040;
import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler;
import org.opendaylight.yangtools.util.xml.UntrustedXML;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
private static final TransformerFactory TF = TransformerFactory.newInstance();
private static final XMLOutputFactory OF = XMLOutputFactory.newInstance();
- private TransactionChainHandler transactionChainHandler;
+ private DOMDataBroker dataBroker;
protected SchemaContextHandler schemaHandler;
private String localName;
/**
- * Transaction chain for delete data in DS on close().
+ * Data broker for delete data in DS on close().
*
- * @param transactionChainHandler creating new write transaction for delete data on close
+ * @param dataBroker creating new write transaction for delete data on close
* @param schemaHandler for formatting notifications
*/
@SuppressWarnings("checkstyle:hiddenField")
- public void setCloseVars(final TransactionChainHandler transactionChainHandler,
- final SchemaContextHandler schemaHandler) {
- this.transactionChainHandler = transactionChainHandler;
+ // FIXME: this is pure lifecycle nightmare just because ...
+ public void setCloseVars(final DOMDataBroker dataBroker, final SchemaContextHandler schemaHandler) {
+ this.dataBroker = dataBroker;
this.schemaHandler = schemaHandler;
}
/**
* Delete data in DS.
*/
- protected void deleteDataInDS() throws Exception {
- final DOMTransactionChain transactionChain = this.transactionChainHandler.get();
- final DOMDataTreeWriteTransaction wTx = transactionChain.newWriteOnlyTransaction();
- wTx.delete(LogicalDatastoreType.OPERATIONAL, Rfc8040.restconfStateStreamPath(this.localName));
- wTx.commit().get();
- transactionChain.close();
+ // FIXME: here we touch datastore, which probably should be done by whoever instantiated us or created the resource,
+ // or they should be giving us the transaction
+ protected ListenableFuture<?> deleteDataInDS() {
+ final DOMDataTreeWriteTransaction wTx = dataBroker.newWriteOnlyTransaction();
+ wTx.delete(LogicalDatastoreType.OPERATIONAL, Rfc8040.restconfStateStreamPath(localName));
+ return wTx.commit();
}
/**
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.locks.StampedLock;
import java.util.function.Function;
import org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants;
*
* @param listener Listener to be closed and removed.
*/
- @SuppressWarnings("checkstyle:IllegalCatch")
private void removeAndCloseDataChangeListenerTemplate(final ListenerAdapter listener) {
try {
requireNonNull(listener).close();
if (dataChangeListeners.inverse().remove(listener) == null) {
LOG.warn("There isn't any data-change event stream that would match listener adapter {}.", listener);
}
- } catch (final Exception exception) {
+ } catch (final InterruptedException | ExecutionException exception) {
LOG.error("Data-change listener {} cannot be closed.", listener, exception);
throw new IllegalStateException(String.format(
"Data-change listener %s cannot be closed.",
}
}
- @SuppressWarnings({"checkstyle:IllegalCatch"})
private void removeAndCloseNotificationListenerTemplate(final NotificationListenerAdapter listener) {
try {
requireNonNull(listener).close();
if (notificationListeners.inverse().remove(listener) == null) {
LOG.warn("There isn't any notification stream that would match listener adapter {}.", listener);
}
- } catch (final Exception exception) {
+ } catch (final InterruptedException | ExecutionException exception) {
LOG.error("Notification listener {} cannot be closed.", listener, exception);
throw new IllegalStateException(String.format(
"Notification listener %s cannot be closed.", listener),
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
import static org.junit.Assert.assertNotNull;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler;
import org.opendaylight.yangtools.util.xml.UntrustedXML;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.Revision;
public static SchemaContextHandler newSchemaContextHandler(final EffectiveModelContext schemaContext) {
DOMDataBroker mockDataBroker = mock(DOMDataBroker.class);
- DOMTransactionChain mockChain = mock(DOMTransactionChain.class);
DOMDataTreeWriteTransaction mockTx = mock(DOMDataTreeWriteTransaction.class);
doReturn(CommitInfo.emptyFluentFuture()).when(mockTx).commit();
- doReturn(mockTx).when(mockChain).newWriteOnlyTransaction();
+ doReturn(mockTx).when(mockDataBroker).newWriteOnlyTransaction();
- doReturn(mockChain).when(mockDataBroker).createTransactionChain(any());
- SchemaContextHandler schemaContextHandler = new SchemaContextHandler(
- new TransactionChainHandler(mockDataBroker), mock(DOMSchemaService.class));
+ SchemaContextHandler schemaContextHandler = new SchemaContextHandler(mockDataBroker,
+ mock(DOMSchemaService.class));
schemaContextHandler.onModelContextUpdated(schemaContext);
return schemaContextHandler;
}
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
import java.io.FileNotFoundException;
import org.junit.AfterClass;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
@Before
public void setup() throws Exception {
- final TransactionChainHandler txHandler = mock(TransactionChainHandler.class);
- final DOMTransactionChain domTx = mock(DOMTransactionChain.class);
- when(txHandler.get()).thenReturn(domTx);
+ final DOMDataBroker dataBroker = mock(DOMDataBroker.class);
final DOMDataTreeWriteTransaction wTx = mock(DOMDataTreeWriteTransaction.class);
- when(domTx.newWriteOnlyTransaction()).thenReturn(wTx);
+ doReturn(wTx).when(dataBroker).newWriteOnlyTransaction();
doReturn(CommitInfo.emptyFluentFuture()).when(wTx).commit();
- this.schemaContextHandler = new SchemaContextHandler(txHandler, mockDOMSchemaService);
+ this.schemaContextHandler = new SchemaContextHandler(dataBroker, mockDOMSchemaService);
this.schemaContextHandler.onModelContextUpdated(SchemaContextHandlerTest.SCHEMA_CONTEXT);
}
import org.opendaylight.restconf.common.patch.PatchStatusContext;
import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils;
import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler;
import org.opendaylight.restconf.nb.rfc8040.rests.services.api.RestconfStreamsSubscriptionService;
import org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfStrategy;
import org.opendaylight.restconf.nb.rfc8040.rests.transactions.NetconfRestconfStrategy;
doReturn(CommitInfo.emptyFluentFuture()).when(this.write).commit();
doReturn(CommitInfo.emptyFluentFuture()).when(this.readWrite).commit();
- doReturn(this.write).when(domTransactionChain).newWriteOnlyTransaction();
-
DOMDataBroker mockDataBroker = mock(DOMDataBroker.class);
doReturn(this.read).when(mockDataBroker).newReadOnlyTransaction();
doReturn(this.readWrite).when(mockDataBroker).newReadWriteTransaction();
- doReturn(domTransactionChain).when(mockDataBroker).createTransactionChain(any());
+ doReturn(this.write).when(mockDataBroker).newWriteOnlyTransaction();
final SchemaContextHandler schemaContextHandler = new SchemaContextHandler(
- new TransactionChainHandler(mockDataBroker), mock(DOMSchemaService.class));
+ mockDataBroker, mock(DOMSchemaService.class));
schemaContextHandler.onModelContextUpdated(this.contextRef);
this.dataService = new RestconfDataServiceImpl(schemaContextHandler, mockDataBroker, mountPointService,
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMRpcResult;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
import org.opendaylight.restconf.common.context.NormalizedNodeContext;
import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils;
import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
public void setup() throws Exception {
final EffectiveModelContext contextRef =
YangParserTestUtils.parseYangFiles(TestRestconfUtils.loadFiles(PATH_FOR_NEW_SCHEMA_CONTEXT));
- final TransactionChainHandler txHandler = mock(TransactionChainHandler.class);
- final DOMTransactionChain domTx = mock(DOMTransactionChain.class);
- when(txHandler.get()).thenReturn(domTx);
+ final DOMDataBroker dataBroker = mock(DOMDataBroker.class);
final DOMDataTreeWriteTransaction wTx = mock(DOMDataTreeWriteTransaction.class);
- when(domTx.newWriteOnlyTransaction()).thenReturn(wTx);
+ when(dataBroker.newWriteOnlyTransaction()).thenReturn(wTx);
doReturn(CommitInfo.emptyFluentFuture()).when(wTx).commit();
- final SchemaContextHandler schemaContextHandler = new SchemaContextHandler(txHandler,
+ final SchemaContextHandler schemaContextHandler = new SchemaContextHandler(dataBroker,
mock(DOMSchemaService.class));
schemaContextHandler.onModelContextUpdated(contextRef);
this.invokeOperationsService =
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMNotificationService;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.restconf.common.context.NormalizedNodeContext;
import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.common.util.SimpleUriInfo;
@Before
public void setUp() throws FileNotFoundException, URISyntaxException {
- final DOMTransactionChain domTx = mock(DOMTransactionChain.class);
final DOMDataTreeWriteTransaction wTx = mock(DOMDataTreeWriteTransaction.class);
- doReturn(wTx).when(domTx).newWriteOnlyTransaction();
doReturn(wTx).when(dataBroker).newWriteOnlyTransaction();
doReturn(CommitInfo.emptyFluentFuture()).when(wTx).commit();
- doReturn(domTx).when(dataBroker).createTransactionChain(any());
-
- transactionHandler = new TransactionChainHandler(dataBroker);
- schemaHandler = new SchemaContextHandler(transactionHandler, mock(DOMSchemaService.class));
+ schemaHandler = new SchemaContextHandler(dataBroker, mock(DOMSchemaService.class));
DOMDataTreeChangeService dataTreeChangeService = mock(DOMDataTreeChangeService.class);
doReturn(mock(ListenerRegistration.class)).when(dataTreeChangeService)
import static java.time.Instant.EPOCH;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
import com.google.common.util.concurrent.Uninterruptibles;
import java.io.IOException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.Mockito;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
import org.opendaylight.restconf.nb.rfc8040.handlers.SchemaContextHandler;
-import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler;
import org.opendaylight.yang.gen.v1.instance.identifier.patch.module.rev151121.PatchCont;
import org.opendaylight.yang.gen.v1.instance.identifier.patch.module.rev151121.patch.cont.MyList1;
import org.opendaylight.yang.gen.v1.instance.identifier.patch.module.rev151121.patch.cont.MyList1Builder;
import org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.NotificationOutputTypeGrouping;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
import org.skyscreamer.jsonassert.JSONAssert;
"/listener-adapter-test/notif-without-data-delete.xml";
private static final YangInstanceIdentifier PATCH_CONT_YIID =
- YangInstanceIdentifier.create(new YangInstanceIdentifier.NodeIdentifier(PatchCont.QNAME));
+ YangInstanceIdentifier.create(new NodeIdentifier(PatchCont.QNAME));
private static EffectiveModelContext SCHEMA_CONTEXT;
private DataBroker dataBroker;
private DOMDataBroker domDataBroker;
- private TransactionChainHandler transactionChainHandler;
private SchemaContextHandler schemaContextHandler;
@BeforeClass
dataBroker = getDataBroker();
domDataBroker = getDomBroker();
- transactionChainHandler = new TransactionChainHandler(domDataBroker);
- schemaContextHandler = new SchemaContextHandler(transactionChainHandler, Mockito.mock(DOMSchemaService.class));
+ schemaContextHandler = new SchemaContextHandler(domDataBroker, mock(DOMSchemaService.class));
schemaContextHandler.onModelContextUpdated(SCHEMA_CONTEXT);
}
}
public void assertGot(final String json) throws JSONException {
+ // FIXME: use awaitility
if (!Uninterruptibles.awaitUninterruptibly(notificationLatch, 500, TimeUnit.SECONDS)) {
fail("Timed out waiting for notification for: " + json);
}
}
public String awaitUntillNotification(String xml) {
+ // FIXME: use awaitility
if (!Uninterruptibles.awaitUninterruptibly(notificationLatch, 500, TimeUnit.SECONDS)) {
fail("Timed out waiting for notification for: " + xml);
}
public void testJsonNotifsLeaves() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.JSON, true, false);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
final DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);
public void testJsonNotifs() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.JSON, false, false);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
final DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);
public void testJsonNotifsWithoutData() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.JSON, false, true);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);
public void testXmlNotifications() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.XML, false, false);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);
public void testXmlSkipData() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.XML, false, true);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);
public void testXmlLeavesOnly() throws Exception {
ListenerAdapterTester adapter = new ListenerAdapterTester(PATCH_CONT_YIID, "Casey",
NotificationOutputTypeGrouping.NotificationOutputType.XML, true, false);
- adapter.setCloseVars(transactionChainHandler, schemaContextHandler);
+ adapter.setCloseVars(domDataBroker, schemaContextHandler);
DOMDataTreeChangeService changeService = domDataBroker.getExtensions()
.getInstance(DOMDataTreeChangeService.class);