Initial source code
[oam/tr069-adapter.git] / mapper / src / main / java / org / commscope / tr069adapter / mapper / acs / controller / ACSNotificationReceiver.java
diff --git a/mapper/src/main/java/org/commscope/tr069adapter/mapper/acs/controller/ACSNotificationReceiver.java b/mapper/src/main/java/org/commscope/tr069adapter/mapper/acs/controller/ACSNotificationReceiver.java
new file mode 100644 (file)
index 0000000..a4e15a0
--- /dev/null
@@ -0,0 +1,55 @@
+/*\r
+ * ============LICENSE_START========================================================================\r
+ * ONAP : tr-069-adapter\r
+ * =================================================================================================\r
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
+ * =================================================================================================\r
+ * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,\r
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You\r
+ * may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\r
+ * either express or implied. See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ===============LICENSE_END=======================================================================\r
+ */\r
+\r
+package org.commscope.tr069adapter.mapper.acs.controller;\r
+\r
+import org.commscope.tr069adapter.acs.common.DeviceInform;\r
+import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
+import org.commscope.tr069adapter.mapper.acs.ACSNotificationHandler;\r
+import org.slf4j.Logger;\r
+import org.slf4j.LoggerFactory;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.web.bind.annotation.PostMapping;\r
+import org.springframework.web.bind.annotation.RequestBody;\r
+import org.springframework.web.bind.annotation.RequestMapping;\r
+import org.springframework.web.bind.annotation.RestController;\r
+\r
+@RestController\r
+@RequestMapping("/tr069MapperSBI")\r
+public class ACSNotificationReceiver {\r
+\r
+  private static final Logger LOG = LoggerFactory.getLogger(ACSNotificationReceiver.class);\r
+\r
+  @Autowired\r
+  ACSNotificationHandler handler;\r
+\r
+  @PostMapping("/opResult")\r
+  public void processOpResult(@RequestBody DeviceRPCResponse opResult) {\r
+    LOG.debug("Received Operation result : {}", opResult);\r
+    handler.handleOperationResponse(opResult);\r
+    LOG.debug("Processed Operation result for opId : {}", opResult.getOperationId());\r
+  }\r
+\r
+  @PostMapping("/notification")\r
+  public void processNotification(@RequestBody DeviceInform notification) {\r
+    LOG.debug("Received device notification : {}", notification);\r
+    handler.handleNotification(notification);\r
+    LOG.debug("Processed device notification : {}", notification.getInformType());\r
+  }\r
+\r
+}\r