diff options
author | root <akansha.dua@amdocs.com> | 2018-11-27 03:42:20 +0000 |
---|---|---|
committer | root <akansha.dua@amdocs.com> | 2018-11-28 09:40:43 +0000 |
commit | 7535125f2ddf5dc492d8b93a8e3ae2311e8d6ee1 (patch) | |
tree | 68b230534765efa926bff0d63f75faf58fa91d86 /src/main/java/org | |
parent | 77549c2dd36316076739be3d7e84ab32ab81c99d (diff) |
Varibles Name Changed
Issue-ID: EXTAPI-172
Change-Id: I5839dc1ae011d3da55a31a4816c1e6d5d3ec71cb
Signed-off-by: root <akansha.dua@amdocs.com>
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java | 211 |
1 files changed, 105 insertions, 106 deletions
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 eb95792..be8bdc0 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 @@ -1,106 +1,105 @@ -/** - * 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.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -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; -import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask; -import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo; -import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository; -import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter; -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; - -@Service -@EnableScheduling -public class SOTaskManager { - - @Autowired - private ExecutionTaskRepository executionTaskRepository; - - @Autowired - private SOTaskProcessor soTaskProcessor; - - private static final Logger LOGGER = LoggerFactory.getLogger(SOTaskManager.class); - - /** - * @param orderItems - * @param serviceOrderInfoJson - */ - private void registerOrderItemExecutionPlan(List<ServiceOrderItem> orderItems, - String serviceOrderInfoJson) { - List<ExecutionTask> executionTasksSaved = new ArrayList<>(); - Map<String, Long> internalIdOrderItemsMap = new HashMap<>(); - if (orderItems != null) { - // first we save create all the execution tasks with order item id in relied tasks - for (ServiceOrderItem orderItem : orderItems) { - ExecutionTask task = new ExecutionTask(); - task.setOrderItemId(orderItem.getId()); - task.setCreateDate(new Date()); - StringBuilder sb = new StringBuilder(); - for (OrderItemRelationship orderItemRelationship : orderItem.getOrderItemRelationship()) { - sb.append(orderItemRelationship.getId()).append(" "); - } - task.setReliedTasks(sb.toString()); - task.setServiceOrderInfoJson(serviceOrderInfoJson); - ExecutionTask savedTask = executionTaskRepository.save(task); - executionTasksSaved.add(savedTask); - - internalIdOrderItemsMap.put(savedTask.getOrderItemId(), savedTask.getInternalId()); - } - // then we replace all orderitem ids in reliedtasks field with internalid of the tasks - for (ExecutionTask executionTask : executionTasksSaved) { - for (Entry<String, Long> entry : internalIdOrderItemsMap.entrySet()) { - String replace = executionTask.getReliedTasks().replace(entry.getKey(), - String.valueOf(entry.getValue())); - executionTask.setReliedTasks(replace); - } - if(LOGGER.isDebugEnabled()) { - LOGGER.debug("saving task with id {} , orderItemId {} , reliedtasks {}", executionTask.getInternalId(), - executionTask.getOrderItemId(), executionTask.getReliedTasks()); - } - executionTaskRepository.save(executionTask); - } - } - } - - /** - * - * @param serviceOrder - * @param serviceOrderInfo - */ - public void registerServiceOrder(ServiceOrder serviceOrder, ServiceOrderInfo serviceOrderInfo) { - String serviceOrderInfoJson = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo); - 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); - } - } -} +/**
+ * 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.*;
+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;
+import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
+import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
+import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
+import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter;
+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;
+
+@Service
+@EnableScheduling
+public class SOTaskManager {
+
+ @Autowired
+ private ExecutionTaskRepository executionTaskRepository;
+
+ @Autowired
+ private SOTaskProcessor soTaskProcessor;
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(SOTaskManager.class);
+
+ /**
+ * @param orderItems
+ * @param serviceOrderInfoJson
+ */
+ private void registerOrderItemExecutionPlan(List<ServiceOrderItem> orderItems,
+ String serviceOrderInfoJson) {
+ List<ExecutionTask> executionTasksSaved = new ArrayList<>();
+ Map<String, Long> internalIdOrderItemsMap = new HashMap<>();
+ if (orderItems != null) {
+ // first we save create all the execution tasks with order item id in relied tasks
+ for (ServiceOrderItem orderItem : orderItems) {
+ ExecutionTask task = new ExecutionTask();
+ task.setOrderItemId(orderItem.getId());
+ task.setCreateDate(new Date());
+ StringBuilder sb = new StringBuilder();
+ for (OrderItemRelationship orderItemRelationship : orderItem.getOrderItemRelationship()) {
+ sb.append(orderItemRelationship.getId()).append(" ");
+ }
+ task.setReliedTasks(sb.toString());
+ task.setServiceOrderInfoJson(serviceOrderInfoJson);
+ ExecutionTask savedTask = executionTaskRepository.save(task);
+ executionTasksSaved.add(savedTask);
+
+ internalIdOrderItemsMap.put(savedTask.getOrderItemId(), savedTask.getInternalId());
+ }
+ // then we replace all orderitem ids in reliedtasks field with internalid of the tasks
+ for (ExecutionTask executionTask : executionTasksSaved) {
+ List<String> reliedOrderItemsIds = new ArrayList<String>(Arrays.asList(executionTask.getReliedTasks().split(" ")));
+ List<String> reliedTasksInternalIds = new ArrayList<String>();
+ for (Entry<String, Long> entry : internalIdOrderItemsMap.entrySet()){
+ if(reliedOrderItemsIds.contains(entry.getKey())) {
+ reliedTasksInternalIds.add(entry.getValue().toString());
+ }
+ }
+ String reliedTasksString = String.join(" ", reliedTasksInternalIds);
+ executionTask.setReliedTasks(reliedTasksString);
+ if(LOGGER.isDebugEnabled()) {
+ LOGGER.debug("saving task with id {} , orderItemId {} , reliedtasks {}", executionTask.getInternalId(), executionTask.getOrderItemId(), executionTask.getReliedTasks());
+ }
+ executionTaskRepository.save(executionTask);
+ }
+ }
+ }
+
+ /**
+ *
+ * @param serviceOrder
+ * @param serviceOrderInfo
+ */
+ public void registerServiceOrder(ServiceOrder serviceOrder, ServiceOrderInfo serviceOrderInfo) {
+ String serviceOrderInfoJson = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
+ 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);
+ }
+ }
+}
|