+++ /dev/null
-/*******************************************************************************
- * ============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.impl.xml;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.annotation.Nonnull;
-import javax.xml.bind.annotation.XmlElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-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.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionLogStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionlogEntity;
-
-public class MwtNotificationBase {
-
- private static String EMPTY = "empty";
-
- private String nodeName;
- private String counter;
- private String timeStamp;
- private @Nonnull String objectId;
-
- public MwtNotificationBase() {
- // For Jaxb
- }
-
- public MwtNotificationBase(String nodeName, Integer counter, InternalDateAndTime timeStamp, String objectId) {
- this.nodeName = nodeName;
- this.counter = String.valueOf(counter);
- this.timeStamp = timeStamp.getValue();
- this.objectId = objectId;
- if (this.objectId == null) {
- this.objectId = EMPTY;
- }
- }
-
- @XmlElement(name = "nodeName")
- public String getNodeName() {
- return nodeName;
- }
-
- @XmlElement(name = "counter")
- public String getCounter() {
- return counter;
- }
-
- @XmlElement(name = "timeStamp")
- public String getTimeStamp() {
- return timeStamp;
- }
-
- @XmlElement(name = "objectId")
- public String getObjectId() {
- return objectId;
- }
-
- /**
- * Provide ConnectionlogEntity type
- * @return ConnectionlogEntity
- */
- public ConnectionlogEntity getConnectionlogEntity() {
- return new ConnectionlogBuilder()
- .setNodeId(objectId)
- .setStatus(getStatus())
- .setTimestamp(new DateAndTime(timeStamp))
- .build();
- }
-
- /**
- * Provide connection status for mountpoint log.
- * TODO Add status disconnected if mountpoint is required, but does not exists.
- * @return
- */
- private ConnectionLogStatus getStatus() {
-
- if (this instanceof ObjectCreationNotificationXml) {
- return ConnectionLogStatus.Mounted;
-
- } else if (this instanceof ObjectDeletionNotificationXml) {
- return ConnectionLogStatus.Unmounted;
-
- } else if (this instanceof AttributeValueChangedNotificationXml) {
- String pnx = ((AttributeValueChangedNotificationXml)this).getNewValue();
- if (pnx.equals(ConnectionStatus.Connected.getName())) {
- return ConnectionLogStatus.Connected;
-
- } else if (pnx.equals(ConnectionStatus.Connecting.getName())) {
- return ConnectionLogStatus.Connecting;
-
- } else if (pnx.equals(ConnectionStatus.UnableToConnect.getName())) {
- return ConnectionLogStatus.UnableToConnect;
- }
- }
- return ConnectionLogStatus.Undefined;
- }
-
- /**
- * Type for the Database to document the the same name that is used in the websockets.
- * @return String with type name of child class
- */
- @JsonProperty("type")
- public String getType() {
- return this.getClass().getSimpleName();
- }
-
- @Override
- public String toString() {
- return "MwtNotificationBase [getType()="+ getType() + ", nodeName=" + nodeName + ", counter=" + counter + ", timeStamp=" + timeStamp
- + ", objectId=" + objectId + "]";
- }
-
-
-
-}