/** * Copyright (c) <2013> <Radware Ltd.> and others. All rights reserved. * * This program and the accompanying materials are made available under the terms of the Eclipse Public License * v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html * @author Gera Goft * @version 0.1 */ package org.opendaylight.defense4all.core.interactionstructures; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.opendaylight.defense4all.core.CounterStat; import org.opendaylight.defense4all.core.TrafficTuple; import org.opendaylight.defense4all.core.CounterStat.Status; @JsonIgnoreProperties({"lastReading","latestRate","average"}) public class PNStatReport { public String pnKey; public Status status; public String lastReadingStr; public TrafficTuple lastReading; // bytes/packets counter reading public String latestRateStr; public TrafficTuple latestRate; // bytes/packets per second public String averageStr; public TrafficTuple average; // bytes/packets per second public PNStatReport() { this.pnKey = ""; status = Status.INVALID; lastReadingStr = ""; lastReading = new TrafficTuple(); latestRateStr = ""; latestRate = new TrafficTuple(); averageStr = ""; average = new TrafficTuple(); } public PNStatReport(CounterStat pnStatSum) { this(); if(pnStatSum == null) return; this.pnKey = pnStatSum.pnKey; this.status = pnStatSum.status; this.lastReading = pnStatSum.lastReading; this.latestRate = pnStatSum.latestRate; this.average = pnStatSum.average; toJacksonFriendly(); } public String getPnKey() {return pnKey;} public void setPnKey(String pnKey) {this.pnKey = pnKey;} public Status getStatus() {return status;} public void setStatus(Status status) {this.status = status;} public String getLastReadingStr() {return lastReadingStr;} public void setLastReadingStr(String lastReadingStr) { this.lastReadingStr = lastReadingStr; this.lastReading = new TrafficTuple(lastReadingStr); } public TrafficTuple getLastReading() {return lastReading;} public void setLastReading(TrafficTuple lastReading) {this.lastReading = lastReading;} public String getLatestRateStr() {return latestRateStr;} public void setLatestRateStr(String latestRateStr) { this.latestRateStr = latestRateStr; this.latestRate = new TrafficTuple(latestRateStr); } public TrafficTuple getLatestRate() {return latestRate;} public void setLatestRate(TrafficTuple latestRate) {this.latestRate = latestRate;} public String getAverageStr() {return averageStr;} public void setAverageStr(String averageStr) { this.averageStr = averageStr; this.average = new TrafficTuple(averageStr); } public TrafficTuple getAverage() {return average;} public void setAverage(TrafficTuple average) {this.average = average;} public void toJacksonFriendly() { lastReadingStr = (lastReading == null ? "" : lastReading.toString()); latestRateStr = (latestRate == null ? "" : latestRate.toString()); averageStr = (average == null ? "" : average.toString()); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("["); sb.append("pnKey:"); sb.append(pnKey); sb.append("; "); sb.append("lastReading:"); if (lastReading!= null ) sb.append(lastReading.toString()); sb.append("; "); sb.append("latestRate:"); if (latestRate!= null ) sb.append(latestRate.toString()); sb.append("; "); sb.append("average:"); if (average!= null ) sb.append(average.toString()); sb.append("; "); sb.append("status:"); sb.append(status.name()); sb.append("; "); sb.append("]"); return sb.toString(); } public String toString(int protocol) { StringBuilder sb = new StringBuilder(); sb.append("latestRate="); if (latestRate!= null ) sb.append(latestRate.toString(protocol)); sb.append("; "); sb.append("average="); if (average!= null ) sb.append(average.toString(protocol)); sb.append("; "); return sb.toString(); } }