X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=netconf-server%2Fsrc%2Fmain%2Fjava%2Forg%2Fcommscope%2Ftr069adapter%2Fnetconf%2Frpc%2FAddObjectOperation.java;h=40b8e74d3178dd3b2868ad11196b54cf935be29e;hb=bfb65ab24d6ce7db221c5f52689a8efd8873fb1a;hp=03c177614dc24c07176aa7670e2aa2bea8efd790;hpb=76744e810f35c84ecbd1d9998e361052466e9483;p=oam%2Ftr069-adapter.git diff --git a/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/rpc/AddObjectOperation.java b/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/rpc/AddObjectOperation.java index 03c1776..40b8e74 100644 --- a/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/rpc/AddObjectOperation.java +++ b/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/rpc/AddObjectOperation.java @@ -34,34 +34,22 @@ import org.opendaylight.netconf.api.DocumentedException.ErrorTag; import org.opendaylight.netconf.api.DocumentedException.ErrorType; import org.opendaylight.netconf.api.xml.XmlElement; import org.opendaylight.netconf.api.xml.XmlNetconfConstants; -import org.opendaylight.netconf.mapping.api.HandlingPriority; -import org.opendaylight.netconf.mapping.api.NetconfOperation; import org.opendaylight.netconf.mapping.api.NetconfOperationChainedExecution; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.xml.sax.InputSource; -public class AddObjectOperation implements NetconfOperation { +public class AddObjectOperation extends GenericOperation { private static final Logger logger = LoggerFactory.getLogger(AddObjectOperation.class); - public static final String OP_NAMESPACE = "urn:tr069rpc:1.0"; - public static final String OP_NAME = "add-object"; - private String deviceID; - private String swVersion; - private String hwVersion; public AddObjectOperation(String deviceID, String swVersion, String hwVersion) { this.deviceID = deviceID; this.swVersion = swVersion; this.hwVersion = hwVersion; - } - - @Override - public HandlingPriority canHandle(final Document message) throws DocumentedException { - OperationNameAndNamespace operationNameAndNamespace = null; - operationNameAndNamespace = new OperationNameAndNamespace(message); - return canHandle(operationNameAndNamespace.getOperationName(), - operationNameAndNamespace.getNamespace()); + setOpString("addobject"); + setOpNamespace("urn:tr069rpc:1.0"); + setOpName("add-object"); } @Override @@ -81,7 +69,7 @@ public class AddObjectOperation implements NetconfOperation { NetConfServerProperties config = NetConfServiceBooter.getApplicationContext().getBean(NetConfServerProperties.class); - final String baseUrl = config.getMapperPath() + "/addobject"; + final String baseUrl = config.getMapperPath() + "/" + getOpString(); NetConfResponse restResponse = XmlUtility.invokeMapperCall(baseUrl, requestXml, deviceID, swVersion, hwVersion); Document document = null; @@ -104,7 +92,7 @@ public class AddObjectOperation implements NetconfOperation { builder = factory.newDocumentBuilder(); document = builder.parse(new InputSource(new StringReader(restResponse.getNetconfResponseXml()))); - document.getDocumentElement().setAttribute("xmlns:ns1", getOperationNamespace()); + document.getDocumentElement().setAttribute("xmlns:ns1", getOpNamespace()); document.getDocumentElement().setAttribute("xmlns", XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0); document.getDocumentElement().setAttribute(XmlNetconfConstants.MESSAGE_ID, msgId); @@ -117,55 +105,4 @@ public class AddObjectOperation implements NetconfOperation { return document; } - - protected HandlingPriority canHandle(final String operationName, - final String operationNamespace) { - return operationName.equals(getOperationName()) - && operationNamespace.equals(getOperationNamespace()) - ? HandlingPriority.HANDLE_WITH_DEFAULT_PRIORITY.increasePriority(1100) - : HandlingPriority.CANNOT_HANDLE; - } - - public static final class OperationNameAndNamespace { - private final String operationName; - private final String namespace; - - private final XmlElement operationElement; - - public OperationNameAndNamespace(final Document message) throws DocumentedException { - XmlElement requestElement = null; - requestElement = getRequestElementWithCheck(message); - operationElement = requestElement.getOnlyChildElement(); - operationName = operationElement.getName(); - namespace = operationElement.getNamespace(); - } - - public String getOperationName() { - return operationName; - } - - public String getNamespace() { - return namespace; - } - - public XmlElement getOperationElement() { - return operationElement; - } - - } - - protected static XmlElement getRequestElementWithCheck(final Document message) - throws DocumentedException { - return XmlElement.fromDomElementWithExpected(message.getDocumentElement(), - XmlNetconfConstants.RPC_KEY, XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0); - } - - protected String getOperationNamespace() { - return OP_NAMESPACE; - } - - protected String getOperationName() { - return OP_NAME; - } - }