diff options
Diffstat (limited to 'src/main/java/com/wipro/www/sonhms/ChildStatusUpdateState.java')
-rw-r--r-- | src/main/java/com/wipro/www/sonhms/ChildStatusUpdateState.java | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/main/java/com/wipro/www/sonhms/ChildStatusUpdateState.java b/src/main/java/com/wipro/www/sonhms/ChildStatusUpdateState.java deleted file mode 100644 index b8d0cf4..0000000 --- a/src/main/java/com/wipro/www/sonhms/ChildStatusUpdateState.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================= - * pcims - * ================================================================================ - * Copyright (C) 2018 Wipro Limited. - * ============================================================================== - * 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. - * ============LICENSE_END========================================================= - ******************************************************************************/ - -package com.wipro.www.sonhms; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.wipro.www.sonhms.model.FapServiceList; - -import java.io.IOException; -import java.util.List; -import java.util.Set; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ChildStatusUpdateState implements SonState { - private static Logger log = LoggerFactory.getLogger(ChildStatusUpdateState.class); - - @Override - public void stateChange(SonContext sonContext) { - if (sonContext.getChildStatus(sonContext.getChildThreadId()).equals("triggeredOof")) { - WaitState waitState = WaitState.getInstance(); - sonContext.setPciState(waitState); - sonContext.stateChange(sonContext); - } else if (sonContext.getChildStatus(sonContext.getChildThreadId()).equals("success")) { - BufferNotificationComponent bufferNotificationComponent = new BufferNotificationComponent(); - ClusterDetailsComponent clusterDetailsComponent = new ClusterDetailsComponent(); - String clusterId = clusterDetailsComponent.getClusterId(sonContext.getChildThreadId()); - List<String> bufferedNotifications = bufferNotificationComponent.getBufferedNotification(clusterId); - if ((bufferedNotifications == null) || bufferedNotifications.isEmpty()) { - // resource clean up - // kill the child thread cleanup resources for the cluster - log.debug("no buffered notification to be handled"); - - Set<Thread> setOfThread = Thread.getAllStackTraces().keySet(); - for (Thread thread : setOfThread) { - if (thread.getId() == sonContext.getChildThreadId()) { - sonContext.deleteChildStatus(); - thread.interrupt(); - } - } - - sonContext.setPciState(new ResourceCleanupState()); - sonContext.stateChange(sonContext); - - } else { - // forward to child thread - ObjectMapper mapper = new ObjectMapper(); - log.debug("handling buffer notification"); - long childThreadId = sonContext.getChildThreadId(); - for (String notification : bufferedNotifications) { - FapServiceList fapServiceList; - try { - fapServiceList = mapper.readValue(notification, FapServiceList.class); - log.debug("fapServiceList{}", fapServiceList); - - SdnrNotificationHandlingState.getChildThreadMap().get(childThreadId) - .putInQueueWithNotify(fapServiceList); - sonContext.setPciState(new BufferedNotificationHandlingState()); - sonContext.stateChange(sonContext); - - } catch (IOException e) { - log.error("caught in child status update {}", e); - } - - } - } - } - } - -} |