X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fmdsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fmdsal%2Fconnector%2FOperationProvider.java;fp=opendaylight%2Fnetconf%2Fmdsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fmdsal%2Fconnector%2FOperationProvider.java;h=c881ae2e4e929b3f51763fa73b49de065619a56a;hp=0000000000000000000000000000000000000000;hb=8d17b7aca17f10005f5f3da1b80d2e442fd0168c;hpb=2676e61ec5958736753c5345cd31fd48ea3e5a05 diff --git a/opendaylight/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/controller/netconf/mdsal/connector/OperationProvider.java b/opendaylight/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/controller/netconf/mdsal/connector/OperationProvider.java new file mode 100644 index 0000000000..c881ae2e4e --- /dev/null +++ b/opendaylight/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/controller/netconf/mdsal/connector/OperationProvider.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.controller.netconf.mdsal.connector; + +import com.google.common.collect.Sets; +import java.util.Set; +import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; +import org.opendaylight.controller.netconf.mapping.api.NetconfOperation; +import org.opendaylight.controller.netconf.mdsal.connector.ops.Commit; +import org.opendaylight.controller.netconf.mdsal.connector.ops.DiscardChanges; +import org.opendaylight.controller.netconf.mdsal.connector.ops.EditConfig; +import org.opendaylight.controller.netconf.mdsal.connector.ops.Lock; +import org.opendaylight.controller.netconf.mdsal.connector.ops.Unlock; +import org.opendaylight.controller.netconf.mdsal.connector.ops.get.Get; +import org.opendaylight.controller.netconf.mdsal.connector.ops.get.GetConfig; + +final class OperationProvider { + + private final String netconfSessionIdForReporting; + private final CurrentSchemaContext schemaContext; + private final DOMDataBroker dataBroker; + private final TransactionProvider transactionProvider; + + public OperationProvider(final String netconfSessionIdForReporting, final CurrentSchemaContext schemaContext, final DOMDataBroker dataBroker) { + this.netconfSessionIdForReporting = netconfSessionIdForReporting; + this.schemaContext = schemaContext; + this.dataBroker = dataBroker; + this.transactionProvider = new TransactionProvider(dataBroker, netconfSessionIdForReporting); + + } + + Set getOperations() { + return Sets.newHashSet( + new Commit(netconfSessionIdForReporting, transactionProvider), + new DiscardChanges(netconfSessionIdForReporting, transactionProvider), + new EditConfig(netconfSessionIdForReporting, schemaContext, transactionProvider), + new Get(netconfSessionIdForReporting, schemaContext, transactionProvider), + new GetConfig(netconfSessionIdForReporting, schemaContext, transactionProvider), + new Lock(netconfSessionIdForReporting), + new Unlock(netconfSessionIdForReporting) + ); + } + +}