use of org.opennms.netmgt.config.reporting.Parameters in project opennms by OpenNMS.
the class DefaultParameterConversionService method convert.
/**
* {@inheritDoc}
*/
@Override
public ReportParameters convert(Parameters configParameters) {
ReportParameters reportParameters = new ReportParameters();
if (configParameters == null) {
return reportParameters;
}
// add date parms to criteria
final List<ReportDateParm> dateParms = configParameters.getDateParms().stream().map(dp -> {
final ReportDateParm dateParm = new ReportDateParm();
dateParm.setUseAbsoluteDate(dp.getUseAbsoluteDate().orElse(null));
dateParm.setDisplayName(dp.getDisplayName());
dateParm.setName(dp.getName());
dateParm.setCount(new Integer((int) dp.getDefaultCount()));
dateParm.setInterval(dp.getDefaultInterval());
Calendar cal = Calendar.getInstance();
if (dp.getDefaultTime().isPresent()) {
final DefaultTime defaultTime = dp.getDefaultTime().get();
dateParm.setHours(defaultTime.getHours());
cal.set(Calendar.HOUR_OF_DAY, dateParm.getHours());
dateParm.setMinutes(defaultTime.getMinutes());
cal.set(Calendar.MINUTE, dateParm.getMinutes());
} else {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
}
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
int amount = 0 - dp.getDefaultCount();
if (dp.getDefaultInterval().equals("year")) {
cal.add(Calendar.YEAR, amount);
} else {
if (dp.getDefaultInterval().equals("month")) {
cal.add(Calendar.MONTH, amount);
} else {
cal.add(Calendar.DATE, amount);
}
}
dateParm.setDate(cal.getTime());
return dateParm;
}).collect(Collectors.toList());
reportParameters.setDateParms(dateParms);
// add string parms to criteria
final List<ReportStringParm> stringParms = configParameters.getStringParms().stream().map(sp -> {
final ReportStringParm stringParm = new ReportStringParm();
stringParm.setDisplayName(sp.getDisplayName());
stringParm.setName(sp.getName());
stringParm.setInputType(sp.getInputType());
stringParm.setValue(sp.getDefault());
return stringParm;
}).collect(Collectors.toList());
reportParameters.setStringParms(stringParms);
// add int parms to criteria
final List<ReportIntParm> intParms = configParameters.getIntParms().stream().map(ip -> {
final ReportIntParm intParm = new ReportIntParm();
intParm.setDisplayName(ip.getDisplayName());
intParm.setName(ip.getName());
intParm.setInputType(ip.getInputType());
intParm.setValue(ip.getDefault());
return intParm;
}).collect(Collectors.toList());
reportParameters.setIntParms(intParms);
return reportParameters;
}
use of org.opennms.netmgt.config.reporting.Parameters in project opennms by OpenNMS.
the class OpennmsReportsTest method getReports.
private static OpennmsReports getReports() {
OpennmsReports reports = new OpennmsReports();
Report report = new Report();
report.setType("pdf");
report.setId("my-report");
report.setLogo("ulf");
reports.addReport(report);
Parameters parms = new Parameters();
report.setParameters(parms);
StringParm sp = new StringParm();
sp.setDisplayName("key");
sp.setInputType("freeText");
sp.setName("k");
sp.setDefault("v");
parms.addStringParm(sp);
return reports;
}
Aggregations