public FilterParamMetaData(Field field, FilterParam filterParam) { Preconditions.checkNotNull(field, "field argument"); Preconditions.checkNotNull(filterParam, "filterParam argument"); key = filterParam.key(); type = field.getType().getSimpleName().toLowerCase(); displayName = filterParam.displayName(); description = filterParam.description(); defaultValue = filterParam.value(); required = filterParam.required(); if (required) { defaultValue = null; } }
public class Percentile implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1.") private double m_quantile;
if (parameterMap.containsKey(filterParam.key())) { effectiveValueAsStr = parameterMap.get(filterParam.key()); } else if (!filterParam.required()) { effectiveValueAsStr = filterParam.value(); } else { throw new IllegalArgumentException("Parameter with key '" + filterParam.key() + "' is required, but no value was given."); unusedParams.remove(filterParam.key());
if (parameterMap.containsKey(filterParam.key())) { effectiveValueAsStr = parameterMap.get(filterParam.key()); } else if (!filterParam.required()) { effectiveValueAsStr = filterParam.value(); } else { throw new IllegalArgumentException("Parameter with key '" + filterParam.key() + "' is required, but no value was given."); unusedParams.remove(filterParam.key());
public FilterParamMetaData(Field field, FilterParam filterParam) { Preconditions.checkNotNull(field, "field argument"); Preconditions.checkNotNull(filterParam, "filterParam argument"); key = filterParam.key(); type = field.getType().getSimpleName().toLowerCase(); displayName = filterParam.displayName(); description = filterParam.description(); defaultValue = filterParam.value(); required = filterParam.required(); if (required) { defaultValue = null; } }
public class Percentile implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1.") private double m_quantile;
public class Derivative implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn;
private static final String PATH_TO_R_SCRIPT = "/org/opennms/netmgt/measurements/filters/impl/trendLine.R"; @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="secondsAhead", value="0", displayName="Forecast", description="Number seconds ahead the of the column for which we want to include the trend line.") private long m_secondsAhead; @FilterParam(key="polynomialOrder", value="1", displayName="Order", description="Polynomial order of the trend line/curve. Set this to 1 for a line.") private int m_polynomialOrder;
public class Derivative implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn;
private static final String PATH_TO_R_SCRIPT = "/org/opennms/netmgt/measurements/filters/impl/trendLine.R"; @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="secondsAhead", value="0", displayName="Forecast", description="Number seconds ahead the of the column for which we want to include the trend line.") private long m_secondsAhead; @FilterParam(key="polynomialOrder", value="1", displayName="Order", description="Polynomial order of the trend line/curve. Set this to 1 for a line.") private int m_polynomialOrder;
private static final String PATH_TO_R_SCRIPT = "/org/opennms/netmgt/measurements/filters/impl/holtWinters.R"; @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputPrefix", value="HW", displayName="Output", description="Output prefix.") private String m_outputPrefix; @FilterParam(key="numPeriodsToForecast", value="3", displayName="# Periods", description="Number of periods to forecast.") private int m_numPeriodsToForecast; @FilterParam(key="periodInSeconds", required=true, displayName="Period", description="Size of a period in seconds.") private long m_periodInSeconds; @FilterParam(key="confidenceLevel", value="0.95", displayName="Level", description="Probability used for confidence bounds. Set this to 0 in order to disable the bounds.") private double m_confidenceLevel;
private static final String PATH_TO_R_SCRIPT = "/org/opennms/netmgt/measurements/filters/impl/holtWinters.R"; @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputPrefix", value="HW", displayName="Output", description="Output prefix.") private String m_outputPrefix; @FilterParam(key="numPeriodsToForecast", value="3", displayName="# Periods", description="Number of periods to forecast.") private int m_numPeriodsToForecast; @FilterParam(key="periodInSeconds", required=true, displayName="Period", description="Size of a period in seconds.") private long m_periodInSeconds; @FilterParam(key="confidenceLevel", value="0.95", displayName="Level", description="Probability used for confidence bounds. Set this to 0 in order to disable the bounds.") private double m_confidenceLevel;
public class OutlierFilter implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1. Any values greater than the calculated percentile will be replaced with an interpolated value.") private double m_quantile;
public class OutlierFilter implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1. Any values greater than the calculated percentile will be replaced with an interpolated value.") private double m_quantile;
public class Chomp implements Filter { @FilterParam(key="stripNaNs", value="true", displayName="Strip", description="When set, leading and trailing rows containing NaNs will be removed") private boolean m_stripNaNs; @FilterParam(key="cutoffDate", value="0", displayName="Cutoff", description="Timestamp in milliseconds. Any rows before this time will be removed.") private double m_cutoffDate;
public class Chomp implements Filter { @FilterParam(key="stripNaNs", value="true", displayName="Strip", description="When set, leading and trailing rows containing NaNs will be removed") private boolean m_stripNaNs; @FilterParam(key="cutoffDate", value="0", displayName="Cutoff", description="Timestamp in milliseconds. Any rows before this time will be removed.") private double m_cutoffDate;
public class JEXL implements Filter { @FilterParam(key="expression", required=true, displayName="Expression", description="JEXL expression.") private String m_expression;
public class JEXL implements Filter { @FilterParam(key="expression", required=true, displayName="Expression", description="JEXL expression.") private String m_expression;