001
014
015 package com.liferay.portal.kernel.bi.reporting;
016
017 import java.util.Map;
018 import java.util.concurrent.ConcurrentHashMap;
019
020
023 public class ReportFormatExporterRegistry {
024
025 public ReportFormatExporter getReportFormatExporter(
026 ReportFormat reportFormat) {
027
028 ReportFormatExporter reportFormatExporter = _reportFormatExporters.get(
029 reportFormat);
030
031 if (reportFormatExporter == null) {
032 throw new IllegalArgumentException(
033 "No report format exporter found for " + reportFormat);
034 }
035
036 return reportFormatExporter;
037 }
038
039 public void setReportFormatExporters(
040 Map<String, ReportFormatExporter> reportFormatExporters) {
041
042 for (Map.Entry<String, ReportFormatExporter> entry :
043 reportFormatExporters.entrySet()) {
044
045 ReportFormat reportFormat = ReportFormat.parse(entry.getKey());
046 ReportFormatExporter reportFormatExporter = entry.getValue();
047
048 _reportFormatExporters.put(reportFormat, reportFormatExporter);
049 }
050 }
051
052 private Map<ReportFormat, ReportFormatExporter> _reportFormatExporters =
053 new ConcurrentHashMap<ReportFormat, ReportFormatExporter>();
054
055 }