/* * Copyright (C) 2006 Erik Swenson - erik@oreports.com * * 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; either version 2 of the License, or (at your option) * any later version. * * 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 reserved a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307, USA. * */ package org.efs.openreports.services.util; import java.util.ArrayList; import org.efs.openreports.ReportConstants.ExportType; import org.efs.openreports.objects.DeliveredReport; import org.efs.openreports.objects.Report; import org.efs.openreports.objects.ReportParameterMap; import org.efs.openreports.objects.ReportUser; import org.efs.openreports.objects.ReportUserAlert; import org.efs.openreports.services.info.AlertInfo; import org.efs.openreports.services.info.DeliveredReportInfo; import org.efs.openreports.services.info.ParameterInfo; import org.efs.openreports.services.info.ReportInfo; import org.efs.openreports.services.info.UserInfo; /** * Provides static methods for converting standard OpenReports objects * to info objects. * * @author Erik Swenson */ public class Converter { public static ReportInfo convertToReportInfo(Report report) { ReportInfo reportInfo = new ReportInfo(); reportInfo.setId(report.getId()); reportInfo.setName(report.getName()); reportInfo.setDescription(report.getDescription()); reportInfo.setCsvExportEnabled(report.isCsvExportEnabled()); reportInfo.setExcelExportEnabled(report.isExcelExportEnabled()); reportInfo.setHtmlExportEnabled(report.isHtmlExportEnabled()); reportInfo.setPdfExportEnabled(report.isPdfExportEnabled()); reportInfo.setRtfExportEnabled(report.isRtfExportEnabled()); reportInfo.setTextExportEnabled(report.isTextExportEnabled()); reportInfo.setXlsExportEnabled(report.isXlsExportEnabled()); reportInfo.setHidden(report.isHidden()); if (report.isJXLSReport()) { reportInfo.setDefaultExportType(ExportType.XLS); } else if (report.isHtmlExportEnabled() || report.isQueryReport() || report.isChartReport()) { reportInfo.setDefaultExportType(ExportType.HTML); } else { reportInfo.setDefaultExportType(ExportType.PDF); } if (report.getParameters() != null && report.getParameters().size() > 0) { ArrayList<ReportParameterMap> reportParameters = new ArrayList<ReportParameterMap>(report.getParameters()); ParameterInfo[] parameters = new ParameterInfo[reportParameters.size()]; for (int x = 0; x < reportParameters.size(); x++) { ReportParameterMap reportParameter = (ReportParameterMap) reportParameters.get(x); ParameterInfo parameter = new ParameterInfo(); parameter.setId(reportParameter.getReportParameter().getId()); parameter.setName(reportParameter.getReportParameter().getName()); parameter.setDescription(reportParameter.getReportParameter().getDescription()); parameters[x] = parameter; } reportInfo.setParameters(parameters); } return reportInfo; } public static UserInfo convertToUserInfo(ReportUser reportUser) { UserInfo userInfo = new UserInfo(); userInfo.setId(reportUser.getId()); userInfo.setName(reportUser.getName()); userInfo.setPassword(reportUser.getPassword()); userInfo.setEmailAddress(reportUser.getEmail()); userInfo.setExternalId(reportUser.getExternalId()); return userInfo; } public static AlertInfo convertToAlertInfo(ReportUserAlert userAlert) { AlertInfo alertInfo = new AlertInfo(); alertInfo = new AlertInfo(); alertInfo.setAlertName(userAlert.getAlert().getName()); alertInfo.setCondition(userAlert.getCondition()); alertInfo.setCount(userAlert.getCount()); alertInfo.setTriggered(userAlert.isTriggered()); if (userAlert.getReport() != null) { alertInfo.setReportName(userAlert.getReport().getName()); } return alertInfo; } public static DeliveredReportInfo convertToDeliveredReportInfo(DeliveredReport report) { DeliveredReportInfo info = new DeliveredReportInfo(); info.setReportDescription(report.getReportDescription()); info.setReportFileName(report.getReportFileName()); info.setReportName(report.getReportName()); info.setRunDate(report.getRunDate()); info.setUserName(report.getUserName()); info.setDeliveryMethod(report.getDeliveryMethod()); info.setRequestId(report.getRequestId()); return info; } public static DeliveredReport convertToDeliveredReport(DeliveredReportInfo info) { DeliveredReport deliveredReport = new DeliveredReport(); deliveredReport.setReportDescription(info.getReportDescription()); deliveredReport.setReportFileName(info.getReportFileName()); deliveredReport.setReportName(info.getReportName()); deliveredReport.setRunDate(info.getRunDate()); deliveredReport.setUserName(info.getUserName()); deliveredReport.setDeliveryMethod(info.getDeliveryMethod()); deliveredReport.setRequestId(info.getRequestId()); return deliveredReport; } }