diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/serviceorder/workflow')
3 files changed, 96 insertions, 11 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java new file mode 100644 index 0000000..ee72515 --- /dev/null +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2018 Orange + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.onap.nbi.apis.serviceorder.workflow; + +import java.util.List; +import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask; +import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Profile; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; + +@Profile("default") +@Service +@EnableScheduling +public class ExecutionTaskProcessorScheduler { + + @Autowired + ExecutionTaskRepository executionTaskRepository; + + @Autowired + SOTaskProcessor soTaskProcessor; + + // Using fixedDelay to mitigate against Scheduler queue backlog with fixedRate + @Scheduled(fixedDelayString = "${executionTask.schedule}", initialDelayString = "${executionTask.initial}") + private void processExecutionPlan() throws InterruptedException { + List<ExecutionTask> taskToExecute = executionTaskRepository.findByReliedTasksIsEmpty(); + for (ExecutionTask executionTask : taskToExecute) { + soTaskProcessor.processOrderItem(executionTask); + } + } +} diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java index be8bdc0..26569f6 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java @@ -12,8 +12,6 @@ */
package org.onap.nbi.apis.serviceorder.workflow;
-import java.util.*;
-import java.util.Map.Entry;
import org.onap.nbi.apis.serviceorder.model.OrderItemRelationship;
import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
@@ -25,9 +23,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
+import java.util.*;
+import java.util.Map.Entry;
+
@Service
@EnableScheduling
public class SOTaskManager {
@@ -94,12 +94,5 @@ public class SOTaskManager { registerOrderItemExecutionPlan(serviceOrder.getOrderItem(), serviceOrderInfoJson);
}
- // Using fixedDelay to mitigate against Scheduler queue backlog with fixedRate
- @Scheduled(fixedDelay = 2000)
- private void processExecutionPlan() throws InterruptedException {
- List<ExecutionTask> taskToExecute = executionTaskRepository.findByReliedTasksIsEmpty();
- for (ExecutionTask executionTask : taskToExecute) {
- soTaskProcessor.processOrderItem(executionTask);
- }
- }
+
}
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java new file mode 100644 index 0000000..0d9f050 --- /dev/null +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2018 Orange + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package org.onap.nbi.apis.serviceorder.workflow; + +import java.util.List; +import org.onap.nbi.apis.serviceorder.ServiceOrderResource; +import org.onap.nbi.apis.serviceorder.model.ServiceOrder; +import org.onap.nbi.apis.serviceorder.model.StateType; +import org.onap.nbi.apis.serviceorder.service.ServiceOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Profile; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; + +@Profile("default") +@Service +@EnableScheduling +public class ServiceOrderCheckScheduler { + + @Autowired + ServiceOrderService serviceOrderService; + + @Autowired + ServiceOrderResource serviceOrderResource; + + + @Scheduled(fixedDelayString = "${serviceOrder.schedule}", initialDelayString = "${serviceOrder.initial}") + public void scheduleCheckServiceOrders() { + List<ServiceOrder> acknowledgedOrders = serviceOrderService + .findServiceOrdersByState(StateType.ACKNOWLEDGED); + for (ServiceOrder serviceOrder : acknowledgedOrders) { + serviceOrderResource.checkServiceOrder(serviceOrder); + } + } + +} |