package org.netevolved.reporting; import java.util.Date; import java.util.Iterator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.entermediadb.asset.MediaArchive; import org.netevolved.reporting.learninggroups.AssessmentReport; import org.netevolved.reporting.learninggroups.ClassResponseReport; import org.netevolved.reporting.learninggroups.CourseAttendanceReport; import org.netevolved.reporting.learninggroups.QuestionDetailsReport; import org.netevolved.reporting.learninggroups.QuestionsReport; import org.netevolved.reporting.learninggroups.RegistrationStatusReport; import org.netevolved.reporting.learninggroups.RevenueByCourseReport; import org.netevolved.reporting.learninggroups.RevenueReport; import org.netevolved.reporting.learninggroups.RosterTestsReport; import org.netevolved.reporting.learninggroups.ScoreDistributionReport; import org.netevolved.reporting.learninggroups.StudentAccountsReport; import org.netevolved.reporting.learninggroups.TrainingHistoryReport; import org.netevolved.reporting.learninggroups.VocationalRevenueReport; import org.openedit.data.SearcherManager; import org.openedit.hittracker.HitTracker; import org.openedit.users.User; public class LearningGroupReport { private static final Log log = LogFactory.getLog( LearningGroupReport.class ); protected HitTracker fieldHitTracker; protected SearcherManager fieldSearcherManager; protected MediaArchive fieldMediaArchive; protected String fieldCatalogId; protected boolean fieldUserSelections; protected User fieldUser; protected Date fieldDate; public HitTracker getHitTracker() { return fieldHitTracker; } public void setHitTracker(HitTracker inHitTracker) { fieldHitTracker = inHitTracker; } public SearcherManager getSearcherManager() { return fieldSearcherManager; } public void setSearcherManager(SearcherManager inSearcherManager) { fieldSearcherManager = inSearcherManager; } public MediaArchive getMediaArchive() { return fieldMediaArchive; } public void setMediaArchive(MediaArchive inMediaArchive) { fieldMediaArchive = inMediaArchive; } public String getCatalogId() { return fieldCatalogId; } public void setCatalogId(String inCatalogId) { fieldCatalogId = inCatalogId; } public boolean isUserSelections() { return fieldUserSelections; } public void setUserSelections(boolean inUserSelections) { fieldUserSelections = inUserSelections; } public User getUser() { return fieldUser; } public void setUser(User inUser) { fieldUser = inUser; } public Date getDate() { return fieldDate; } public void setDate(Date inDate) { fieldDate = inDate; } public Iterator getIterator() { if(isUserSelections()){ return getHitTracker().getSelectedHitracker().iterator(); } else{ return getHitTracker().iterator(); } } public int getCount(){ if(isUserSelections()){ return getHitTracker().getSelectedHitracker().size(); } else{ return getHitTracker().size(); } } protected void prepareReport(BaseReport report){ report.setHitTracker(getHitTracker()); report.setUser(getUser()); report.setDate(getDate()); report.setMediaArchive(getMediaArchive()); report.generateGroups(); } public AssessmentReport getAssessmentReport(){ AssessmentReport report = new AssessmentReport(); prepareReport(report); return report; } public ClassResponseReport getClassResponseReport(){ ClassResponseReport report = new ClassResponseReport(); prepareReport(report); return report; } public CourseAttendanceReport getCourseAttendanceReport(){ CourseAttendanceReport report = new CourseAttendanceReport(); prepareReport(report); return report; } public QuestionDetailsReport getQuestionDetailsReport(){ QuestionDetailsReport report = new QuestionDetailsReport(); prepareReport(report); return report; } public QuestionsReport getQuestionsReport(){ QuestionsReport report = new QuestionsReport(); prepareReport(report); return report; } public RegistrationStatusReport getRegistrationStatusReport(){ RegistrationStatusReport report = new RegistrationStatusReport(); prepareReport(report); return report; } public RevenueReport getRevenueReport(){ RevenueReport report = new RevenueReport(); prepareReport(report); return report; } public RevenueByCourseReport getRevenueByCourseReport(){ RevenueByCourseReport report = new RevenueByCourseReport(); prepareReport(report); return report; } public RosterTestsReport getRosterTestsReport(){ RosterTestsReport report = new RosterTestsReport(); prepareReport(report); return report; } public ScoreDistributionReport getScoreDistributionReport(){ ScoreDistributionReport report = new ScoreDistributionReport(); prepareReport(report); return report; } public StudentAccountsReport getStudentAccountsReport(){ StudentAccountsReport report = new StudentAccountsReport(); prepareReport(report); return report; } public TrainingHistoryReport getTrainingHistoryReport(){ TrainingHistoryReport report = new TrainingHistoryReport(); prepareReport(report); return report; } public VocationalRevenueReport getVocationalRevenueReport(){ VocationalRevenueReport report = new VocationalRevenueReport(); prepareReport(report); return report; } }