import java.util.Map;
import org.opendaylight.controller.netconf.api.NetconfDocumentedException;
-import org.opendaylight.controller.netconf.api.NetconfOperationRouter;
-import org.opendaylight.controller.netconf.api.NetconfSession;
import org.opendaylight.controller.netconf.impl.mapping.CapabilityProvider;
-import org.opendaylight.controller.netconf.mapping.api.DefaultNetconfOperation;
-import org.opendaylight.controller.netconf.mapping.api.HandlingPriority;
-import org.opendaylight.controller.netconf.util.mapping.AbstractNetconfOperation;
+import org.opendaylight.controller.netconf.util.mapping.AbstractLastNetconfOperation;
import org.opendaylight.controller.netconf.util.xml.XmlElement;
import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants;
import org.opendaylight.controller.netconf.util.xml.XmlUtil;
import com.google.common.base.Optional;
import com.google.common.collect.Maps;
-public final class DefaultGetSchema extends AbstractNetconfOperation implements DefaultNetconfOperation {
-
- private final CapabilityProvider cap;
- private NetconfSession netconfSession;
+public final class DefaultGetSchema extends AbstractLastNetconfOperation {
+ public static final String GET_SCHEMA = "get-schema";
+ public static final String IDENTIFIER = "identifier";
+ public static final String VERSION = "version";
private static final Logger logger = LoggerFactory.getLogger(DefaultGetSchema.class);
+ private final CapabilityProvider cap;
public DefaultGetSchema(CapabilityProvider cap, String netconfSessionIdForReporting) {
super(netconfSessionIdForReporting);
this.cap = cap;
}
- public static final String GET_SCHEMA = "get-schema";
- public static final String IDENTIFIER = "identifier";
- public static final String VERSION = "version";
-
@Override
- protected HandlingPriority canHandle(String netconfOperationName, String namespace) {
- if (netconfOperationName.equals("get-schema") == false)
- return HandlingPriority.CANNOT_HANDLE;
- if (namespace.equals(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_YANG_IETF_NETCONF_MONITORING) == false)
- return HandlingPriority.CANNOT_HANDLE;
+ protected String getOperationName() {
+ return GET_SCHEMA;
+ }
- return HandlingPriority.HANDLE_WITH_DEFAULT_PRIORITY;
+ @Override
+ protected String getOperationNamespace() {
+ return XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_YANG_IETF_NETCONF_MONITORING;
}
@Override
- protected Element handle(Document document, XmlElement xml, NetconfOperationRouter router)
- throws NetconfDocumentedException {
+ protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws NetconfDocumentedException {
GetSchemaEntry entry;
try {
}
Element getSchemaResult;
- getSchemaResult = XmlUtil.createTextElement(document, XmlNetconfConstants.DATA_KEY, schema);
- XmlUtil.addNamespaceAttr(getSchemaResult,
- XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_YANG_IETF_NETCONF_MONITORING);
-
- logger.info("{} operation successful", GET_SCHEMA);
+ getSchemaResult = XmlUtil.createTextElement(document, XmlNetconfConstants.DATA_KEY, schema,
+ Optional.of(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_YANG_IETF_NETCONF_MONITORING));
+ logger.trace("{} operation successful", GET_SCHEMA);
return getSchemaResult;
}
} else {
version = Optional.absent();
}
-
}
}
-
- public void setNetconfSession(NetconfSession s) {
- this.netconfSession = s;
- }
-
- public NetconfSession getNetconfSession() {
- return netconfSession;
- }
}