/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.nifi.web.api.dto.status;
import com.wordnik.swagger.annotations.ApiModelProperty;
import javax.xml.bind.annotation.XmlType;
/**
* DTO for serializing the status of a connection.
*/
@XmlType(name = "connectionStatusSnapshot")
public class ConnectionStatusSnapshotDTO implements Cloneable {
private String id;
private String groupId;
private String name;
private String sourceId;
private String sourceName;
private String destinationId;
private String destinationName;
private Integer flowFilesIn = 0;
private Long bytesIn = 0L;
private String input;
private Integer flowFilesOut = 0;
private Long bytesOut = 0L;
private String output;
private Integer flowFilesQueued = 0;
private Long bytesQueued = 0L;
private String queued;
private String queuedSize;
private String queuedCount;
private Integer percentUseCount;
private Integer percentUseBytes;
/* getters / setters */
/**
* @return The connection id
*/
@ApiModelProperty("The id of the connection.")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* @return the ID of the Process Group to which this connection belongs.
*/
@ApiModelProperty("The id of the process group the connection belongs to.")
public String getGroupId() {
return groupId;
}
public void setGroupId(final String groupId) {
this.groupId = groupId;
}
/**
* @return name of this connection
*/
@ApiModelProperty("The name of the connection.")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* @return total count of flow files that are queued
*/
@ApiModelProperty("The number of flowfiles that are queued, pretty printed.")
public String getQueuedCount() {
return queuedCount;
}
public void setQueuedCount(String queuedCount) {
this.queuedCount = queuedCount;
}
/**
* @return total size of flow files that are queued
*/
@ApiModelProperty("The total size of flowfiles that are queued formatted.")
public String getQueuedSize() {
return queuedSize;
}
public void setInput(String input) {
this.input = input;
}
public void setOutput(String output) {
this.output = output;
}
public void setQueued(String queued) {
this.queued = queued;
}
public void setQueuedSize(String queuedSize) {
this.queuedSize = queuedSize;
}
/**
* @return The total count and size of queued flow files
*/
@ApiModelProperty("The total count and size of queued flowfiles formatted.")
public String getQueued() {
return queued;
}
/**
* @return id of the source of this connection
*/
@ApiModelProperty("The id of the source of the connection.")
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId;
}
/**
* @return name of the source of this connection
*/
@ApiModelProperty("The name of the source of the connection.")
public String getSourceName() {
return sourceName;
}
public void setSourceName(String sourceName) {
this.sourceName = sourceName;
}
/**
* @return id of the destination of this connection
*/
@ApiModelProperty("The id of the destination of the connection.")
public String getDestinationId() {
return destinationId;
}
public void setDestinationId(String destinationId) {
this.destinationId = destinationId;
}
/**
* @return name of the destination of this connection
*/
@ApiModelProperty("The name of the destination of the connection.")
public String getDestinationName() {
return destinationName;
}
public void setDestinationName(String destinationName) {
this.destinationName = destinationName;
}
/**
* @return input for this connection
*/
@ApiModelProperty("The input count/size for the connection in the last 5 minutes, pretty printed.")
public String getInput() {
return input;
}
/**
* @return output for this connection
*/
@ApiModelProperty("The output count/sie for the connection in the last 5 minutes, pretty printed.")
public String getOutput() {
return output;
}
@ApiModelProperty("The number of FlowFiles that have come into the connection in the last 5 minutes.")
public Integer getFlowFilesIn() {
return flowFilesIn;
}
public void setFlowFilesIn(Integer flowFilesIn) {
this.flowFilesIn = flowFilesIn;
}
@ApiModelProperty("The size of the FlowFiles that have come into the connection in the last 5 minutes.")
public Long getBytesIn() {
return bytesIn;
}
public void setBytesIn(Long bytesIn) {
this.bytesIn = bytesIn;
}
@ApiModelProperty("The number of FlowFiles that have left the connection in the last 5 minutes.")
public Integer getFlowFilesOut() {
return flowFilesOut;
}
public void setFlowFilesOut(Integer flowFilesOut) {
this.flowFilesOut = flowFilesOut;
}
@ApiModelProperty("The number of bytes that have left the connection in the last 5 minutes.")
public Long getBytesOut() {
return bytesOut;
}
public void setBytesOut(Long bytesOut) {
this.bytesOut = bytesOut;
}
@ApiModelProperty("The number of FlowFiles that are currently queued in the connection.")
public Integer getFlowFilesQueued() {
return flowFilesQueued;
}
public void setFlowFilesQueued(Integer flowFilesQueued) {
this.flowFilesQueued = flowFilesQueued;
}
@ApiModelProperty("The size of the FlowFiles that are currently queued in the connection.")
public Long getBytesQueued() {
return bytesQueued;
}
public void setBytesQueued(Long bytesQueued) {
this.bytesQueued = bytesQueued;
}
@ApiModelProperty("Connection percent use regarding queued flow files count and backpressure threshold if configured.")
public Integer getPercentUseCount() {
return percentUseCount;
}
public void setPercentUseCount(Integer percentUseCount) {
this.percentUseCount = percentUseCount;
}
@ApiModelProperty("Connection percent use regarding queued flow files size and backpressure threshold if configured.")
public Integer getPercentUseBytes() {
return percentUseBytes;
}
public void setPercentUseBytes(Integer percentUseBytes) {
this.percentUseBytes = percentUseBytes;
}
@Override
public ConnectionStatusSnapshotDTO clone() {
final ConnectionStatusSnapshotDTO other = new ConnectionStatusSnapshotDTO();
other.setDestinationId(getDestinationId());
other.setDestinationName(getDestinationName());
other.setGroupId(getGroupId());
other.setId(getId());
other.setName(getName());
other.setSourceId(getSourceId());
other.setSourceName(getSourceName());
other.setFlowFilesIn(getFlowFilesIn());
other.setBytesIn(getBytesIn());
other.setInput(getInput());
other.setFlowFilesOut(getFlowFilesOut());
other.setBytesOut(getBytesOut());
other.setOutput(getOutput());
other.setFlowFilesQueued(getFlowFilesQueued());
other.setBytesQueued(getBytesQueued());
other.setQueued(getQueued());
other.setQueuedCount(getQueuedCount());
other.setQueuedSize(getQueuedSize());
other.setPercentUseBytes(getPercentUseBytes());
other.setPercentUseCount(getPercentUseCount());
return other;
}
}