Fix unit testing instability
[externalapi/nbi.git] / src / main / java / org / onap / nbi / apis / serviceorder / ServiceOrderResource.java
index e3f4442..2cd1c9a 100644 (file)
@@ -33,8 +33,6 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.util.MultiValueMap;
 import org.springframework.validation.Errors;
 import org.springframework.web.bind.annotation.*;
@@ -44,11 +42,8 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/serviceOrder")
-@EnableScheduling
 public class ServiceOrderResource extends ResourceManagement {
 
-
-
     @Autowired
     ServiceOrderService serviceOrderService;
 
@@ -71,6 +66,8 @@ public class ServiceOrderResource extends ResourceManagement {
     MultiCriteriaRequestBuilder multiCriteriaRequestBuilder;
 
 
+
+
     @GetMapping(value = "/{serviceOrderId}", produces = MediaType.APPLICATION_JSON_VALUE)
     public ResponseEntity<Object> getServiceOrder(@PathVariable String serviceOrderId,
             @RequestParam MultiValueMap<String, String> params) {
@@ -123,26 +120,33 @@ public class ServiceOrderResource extends ResourceManagement {
 
     }
 
-    @Scheduled(fixedDelay = 5000)
-    public void scheduleCheckServiceOrders() {
-        List<ServiceOrder> acknowledgedOrders = serviceOrderService.findServiceOrdersByState(StateType.ACKNOWLEDGED);
-        for (ServiceOrder serviceOrder : acknowledgedOrders) {
-            ServiceOrderInfo serviceOrderInfo = checkOrderConsistenceManager.checkServiceOrder(serviceOrder);
-            if (serviceOrderInfo.isServiceOrderRejected()) {
-                serviceOrderService.updateOrderState(serviceOrder, StateType.REJECTED);
-            } else if (serviceOrderInfo.isAllItemsCompleted()) {
-                serviceOrderService.updateOrderState(serviceOrder, StateType.COMPLETED);
-            } else {
-                createAAICustomer.createAAICustomer(serviceOrder,serviceOrderInfo);
+
+    @PutMapping(value = "/test/{serviceOrderId}",consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResponseEntity<Object> checkServiceOrderRessource(@PathVariable String serviceOrderId,@RequestParam MultiValueMap<String, String> params){
+        ServiceOrder serviceOrder = serviceOrderService.findServiceOrderById(serviceOrderId);
+        serviceOrder = checkServiceOrder(serviceOrder);
+        JsonRepresentation filter = new JsonRepresentation(params);
+        return this.createResponse(serviceOrder,filter);
+    }
+
+
+    public ServiceOrder checkServiceOrder(ServiceOrder serviceOrder) {
+        ServiceOrderInfo serviceOrderInfo = checkOrderConsistenceManager.checkServiceOrder(serviceOrder);
+        if (serviceOrderInfo.isServiceOrderRejected()) {
+            serviceOrderService.updateOrderState(serviceOrder, StateType.REJECTED);
+        } else if (serviceOrderInfo.isAllItemsCompleted()) {
+            serviceOrderService.updateOrderState(serviceOrder, StateType.COMPLETED);
+        } else {
+            createAAICustomer.createAAICustomer(serviceOrder,serviceOrderInfo);
+            if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
+                createAAIServiceType.createAAIServiceType(serviceOrder, serviceOrderInfo);
                 if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
-                    createAAIServiceType.createAAIServiceType(serviceOrder, serviceOrderInfo);
-                    if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
-                        serviceOrchestratorManager.registerServiceOrder(serviceOrder, serviceOrderInfo);
-                    }
+                    serviceOrchestratorManager.registerServiceOrder(serviceOrder, serviceOrderInfo);
                 }
-
             }
+
         }
+        return serviceOrder;
     }
 
 }