package com.jsonde.gui.action.reports;
import com.jsonde.gui.ApplicationUserInterface;
import com.jsonde.gui.Main;
import com.jsonde.gui.action.composite.CreateCompositeComponentTabAction;
import com.jsonde.gui.components.composite.CompositeComponentProvider;
import com.jsonde.gui.reports.Report;
import com.jsonde.gui.reports.ReportCompositeComponentProvider;
import com.jsonde.gui.reports.ReportException;
import com.jsonde.gui.reports.Reports;
import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
public class ReportActions {
private static ReportActions instance;
private List<Action> actions;
private ReportActions(ApplicationUserInterface applicationUserInterface) throws ReportException {
actions = new ArrayList<Action>();
for (Report report : Reports.getReportsByGroupId("reports")) {
CompositeComponentProvider reportCompositeComponentProvider =
new ReportCompositeComponentProvider(report);
actions.add(new CreateCompositeComponentTabAction(
applicationUserInterface, reportCompositeComponentProvider));
}
}
public static ReportActions getInstance(ApplicationUserInterface applicationUserInterface)
throws ReportException {
if (null == instance) {
instance = new ReportActions(applicationUserInterface);
}
return instance;
}
public List<Action> getActions() {
return actions;
}
}