/********************************************************************************** * * $Id: PreferencesBean.java 119424 2013-02-01 16:00:15Z holladay@longsight.com $ * *********************************************************************************** * * Copyright (c) 2005, 2006, 2007, 2008 The Sakai Foundation, The MIT Corporation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.tool.gradebook.ui; import org.sakaiproject.tool.gradebook.Assignment; import org.sakaiproject.tool.gradebook.Category; import org.sakaiproject.component.cover.ServerConfigurationService; /** * Session-scoped preferences for the sakai gradebook. These are currently * not persistent across http sessions. * * @author <a href="mailto:jholtzman@berkeley.edu">Josh Holtzman</a> */ public class PreferencesBean { public static final String SORT_BY_NAME = "studentSortName"; public static final String SORT_BY_UID = "studentDisplayId"; private String assignmentSortColumn; private boolean assignmentSortAscending; private String categorySortColumn; private boolean categorySortAscending; private String rosterTableSortColumn; private boolean rosterTableSortAscending; private String assignmentDetailsTableSortColumn; private boolean assignmentDetailsTableSortAscending; private String courseGradeDetailsTableSortColumn; private boolean courseGradeDetailsTableSortAscending; private Integer assignmentDetailsTableSelectedSectionFilter; private Integer rosterTableSelectedSectionFilter; private int defaultMaxDisplayedScoreRows; public PreferencesBean() { loadPreferences(); } /** * This could eventually be loaded from persistence or from the framework */ protected void loadPreferences() { assignmentSortAscending = true; assignmentSortColumn = Assignment.DEFAULT_SORT; categorySortAscending = true; categorySortColumn = Category.SORT_BY_NAME; rosterTableSortAscending = true; rosterTableSortColumn = SORT_BY_NAME; assignmentDetailsTableSortAscending = true; assignmentDetailsTableSortColumn = SORT_BY_NAME; courseGradeDetailsTableSortAscending = true; courseGradeDetailsTableSortColumn = SORT_BY_NAME; assignmentDetailsTableSelectedSectionFilter = new Integer(EnrollmentTableBean.ALL_SECTIONS_SELECT_VALUE); rosterTableSelectedSectionFilter = new Integer(EnrollmentTableBean.ALL_SECTIONS_SELECT_VALUE); defaultMaxDisplayedScoreRows = 50; String defaultMaxDisplayedScoreRowsSakaiProp = ServerConfigurationService.getString("gradebook.defaultMaxDisplayedScoreRows"); if(defaultMaxDisplayedScoreRowsSakaiProp != null){ try{ int defaultMaxDisplayedScoreRowsSakaiPropInt = Integer.parseInt(defaultMaxDisplayedScoreRowsSakaiProp); if(defaultMaxDisplayedScoreRowsSakaiPropInt == 5 || defaultMaxDisplayedScoreRowsSakaiPropInt == 10 || defaultMaxDisplayedScoreRowsSakaiPropInt == 15 || defaultMaxDisplayedScoreRowsSakaiPropInt == 20 || defaultMaxDisplayedScoreRowsSakaiPropInt == 50 || defaultMaxDisplayedScoreRowsSakaiPropInt == 100 || defaultMaxDisplayedScoreRowsSakaiPropInt == 0){ defaultMaxDisplayedScoreRows = defaultMaxDisplayedScoreRowsSakaiPropInt; } }catch (Exception e) { //integer parse issue, bad property } } } // Paging preferences public int getDefaultMaxDisplayedScoreRows() { return defaultMaxDisplayedScoreRows; } // Assignment sorting (for overview, assignment details, and possibly roster) public boolean isAssignmentSortAscending() { return assignmentSortAscending; } public void setAssignmentSortAscending(boolean assignmentSortAscending) { this.assignmentSortAscending = assignmentSortAscending; } public String getAssignmentSortColumn() { return assignmentSortColumn; } public void setAssignmentSortColumn(String assignmentSortColumn) { this.assignmentSortColumn = assignmentSortColumn; } //Category sorting public boolean isCategorySortAscending() { return categorySortAscending; } public void setCategorySortAscending(boolean categorySortAscending) { this.categorySortAscending = categorySortAscending; } public String getCategorySortColumn() { return categorySortColumn; } public void setCategorySortColumn(String categorySortColumn) { this.categorySortColumn = categorySortColumn; } // Roster table sorting public boolean isRosterTableSortAscending() { return rosterTableSortAscending; } public void setRosterTableSortAscending(boolean rosterTableSortAscending) { this.rosterTableSortAscending = rosterTableSortAscending; } public String getRosterTableSortColumn() { return rosterTableSortColumn; } public void setRosterTableSortColumn(String rosterTableSortColumn) { this.rosterTableSortColumn = rosterTableSortColumn; } // Assignment details table sorting public boolean isAssignmentDetailsTableSortAscending() { return assignmentDetailsTableSortAscending; } public void setAssignmentDetailsTableSortAscending( boolean assignmentDetailsTableSortAscending) { this.assignmentDetailsTableSortAscending = assignmentDetailsTableSortAscending; } public String getAssignmentDetailsTableSortColumn() { return assignmentDetailsTableSortColumn; } public void setAssignmentDetailsTableSortColumn( String assignmentDetailsTableSortColumn) { this.assignmentDetailsTableSortColumn = assignmentDetailsTableSortColumn; } // Course grade details table sorting public boolean isCourseGradeDetailsTableSortAscending() { return courseGradeDetailsTableSortAscending; } public void setCourseGradeDetailsTableSortAscending( boolean courseGradeDetailsTableSortAscending) { this.courseGradeDetailsTableSortAscending = courseGradeDetailsTableSortAscending; } public String getCourseGradeDetailsTableSortColumn() { return courseGradeDetailsTableSortColumn; } public void setCourseGradeDetailsTableSortColumn( String courseGradeDetailsTableSortColumn) { this.courseGradeDetailsTableSortColumn = courseGradeDetailsTableSortColumn; } // Assignment details table filter by section public Integer getAssignmentDetailsTableSectionFilter() { return assignmentDetailsTableSelectedSectionFilter; } public void setAssignmentDetailsTableSectionFilter( Integer assignmentDetailsTableSelectedSectionFilter) { this.assignmentDetailsTableSelectedSectionFilter = assignmentDetailsTableSelectedSectionFilter; } // Roster table filter by section public Integer getRosterTableSectionFilter() { return rosterTableSelectedSectionFilter; } public void setRosterTableSectionFilter(Integer rosterTableSelectedSectionFilter) { this.rosterTableSelectedSectionFilter = rosterTableSelectedSectionFilter; } }