/******************************************************************************* * ============LICENSE_START======================================================================== * ONAP : ccsdk feature sdnr wt * ================================================================================================= * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. * ================================================================================================= * 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 org.onap.ccsdk.features.sdnr.wt.devicemanager.service; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SeverityType; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; /** * */ public interface FaultService extends DeviceManagerService { /** Notify fault information to devicemanager * @param faultNotification to send */ void faultNotification(@NonNull FaultlogEntity faultNotification); /** * Fault notification * @param nodeId of node * @param counter provided * @param timeStamp provided * @param objectId provided * @param problem provided * @param severity provided */ void faultNotification(@NonNull NodeId nodeId, @Nullable Integer counter, @Nullable DateAndTime timeStamp, @Nullable String objectId, @Nullable String problem, @Nullable SeverityType severity); /** * Remove current problems of node * @param nodeId of node * @return number of removed entries */ int removeAllCurrentProblemsOfNode(@NonNull NodeId nodeId); /** * Write initial list of problems of node * @param nodeId of node * @param resultList */ void initCurrentProblemStatus(@NonNull NodeId nodeId, FaultData resultList); /** * @param nodeId of node * @param objectId of element to be removed * @return number of removed items */ int removeObjectsCurrentProblemsOfNode(@NonNull NodeId nodeId, @NonNull String objectId); }