/*
* RHQ Management Platform
* Copyright (C) 2005-2008 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package org.rhq.core.domain.measurement.composite;
import java.io.Serializable;
import org.rhq.core.domain.measurement.MeasurementDataNumeric1H;
import org.rhq.core.domain.measurement.MeasurementUnits;
/**
* Composite that holds information about an oob
*
* @author Heiko W. Rupp
*/
public class MeasurementOOBComposite implements Serializable {
private static final long serialVersionUID = 1L;
private int resourceId;
private String resourceName;
private String resourceAncestry;
private int resourceTypeId;
private String scheduleName;
private int scheduleId;
private long timestamp;
private int definitionId;
private int factor;
private double blMin;
private double blMax;
private double dataMin;
private double dataMax;
private double outlier;
private MeasurementUnits units;
private String parentName;
private Integer parentId;
private String formattedOutlier;
private String formattedBaseband;
public MeasurementOOBComposite() {
}
public MeasurementOOBComposite(String resourceName, int resourceId, String resourceAncestry, int resourceTypeId,
String scheduleName, int scheduleId, long timestamp, int definitionId, int factor, double blMin, double blMax,
MeasurementUnits units, String parentName, Integer parentId) {
this.resourceName = resourceName;
this.resourceId = resourceId;
this.resourceAncestry = resourceAncestry;
this.resourceTypeId = resourceTypeId;
this.scheduleName = scheduleName;
this.scheduleId = scheduleId;
this.definitionId = definitionId;
this.factor = factor;
this.blMin = blMin;
this.blMax = blMax;
this.timestamp = timestamp;
this.units = units;
this.parentId = parentId;
this.parentName = parentName;
}
public MeasurementOOBComposite(String resourceName, int resourceId, String resourceAncestry, int resourceTypeId,
String scheduleName, int scheduleId, long timestamp, int definitionId, int factor, double blMin, double blMax,
MeasurementUnits unit) {
this.resourceName = resourceName;
this.resourceId = resourceId;
this.resourceAncestry = resourceAncestry;
this.resourceTypeId = resourceTypeId;
this.scheduleName = scheduleName;
this.scheduleId = scheduleId;
this.definitionId = definitionId;
this.factor = factor;
this.blMin = blMin;
this.blMax = blMax;
this.timestamp = timestamp;
this.units = unit;
}
public String getResourceName() {
return resourceName;
}
public int getResourceId() {
return resourceId;
}
public String getResourceAncestry() {
return resourceAncestry;
}
public int getResourceTypeId() {
return resourceTypeId;
}
public String getScheduleName() {
return scheduleName;
}
public int getScheduleId() {
return scheduleId;
}
public int getDefinitionId() {
return definitionId;
}
public int getFactor() {
return factor;
}
public long getTimestamp() {
return timestamp;
}
public MeasurementUnits getUnits() {
return units;
}
public double getBlMin() {
return blMin;
}
public double getBlMax() {
return blMax;
}
public double getDataMin() {
return dataMin;
}
public double getDataMax() {
return dataMax;
}
public String getParentName() {
return parentName;
}
public Integer getParentId() {
return parentId;
}
public void setDataMin(double dataMin) {
this.dataMin = dataMin;
}
public void setDataMax(double dataMax) {
this.dataMax = dataMax;
}
/**
* @deprecated the {@link MeasurementDataNumeric1H} class is being phased out. Use the {@link #setDataMin(double)}
* and {@link #setDataMax(double)} for equivalent usage.
*/
@Deprecated
public void setData(MeasurementDataNumeric1H data) {
this.dataMin = data.getMin();
this.dataMax = data.getMax();
}
public double getOutlier() {
return outlier;
}
public void setOutlier(double outlier) {
this.outlier = outlier;
}
public void calculateOutlier() {
if ((blMin - dataMin) < (dataMax - blMax)) {
outlier = dataMax;
} else {
outlier = dataMin;
}
}
public String getFormattedBaseband() {
return formattedBaseband;
}
public void setFormattedBaseband(String formattedBaseband) {
this.formattedBaseband = formattedBaseband;
}
public String getFormattedOutlier() {
return formattedOutlier;
}
public void setFormattedOutlier(String formattedOutlier) {
this.formattedOutlier = formattedOutlier;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("MeasurementOOBComposite");
sb.append("{resourceName='").append(resourceName).append('\'');
sb.append(", resourceId=").append(resourceId);
sb.append(", scheduleName='").append(scheduleName).append('\'');
sb.append(", scheduleId=").append(scheduleId);
sb.append(", timestamp=").append(timestamp);
sb.append(", definitionId=").append(definitionId);
sb.append(", factor=").append(factor);
sb.append(", blMin=").append(blMin);
sb.append(", blMax=").append(blMax);
sb.append(", dataMin=").append(dataMin);
sb.append(", dataMax=").append(dataMax);
sb.append(", outlier=").append(outlier);
sb.append(", units=").append(units);
sb.append(", parentName='").append(parentName).append('\'');
sb.append(", parentId=").append(parentId);
sb.append('}');
return sb.toString();
}
}