/**
* Copyright © 2002 Instituto Superior Técnico
*
* This file is part of FenixEdu Academic.
*
* FenixEdu Academic is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FenixEdu Academic 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with FenixEdu Academic. If not, see <http://www.gnu.org/licenses/>.
*/
package org.fenixedu.academic.ui.renderers.student.enrollment.bolonha;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pt.ist.fenixWebFramework.renderers.InputRenderer;
import pt.ist.fenixWebFramework.renderers.layouts.Layout;
public class BolonhaStudentEnrollmentInputRenderer extends InputRenderer {
private static final Logger logger = LoggerFactory.getLogger(BolonhaStudentEnrollmentInputRenderer.class);
private Integer initialWidth = 70;
private Integer widthDecreasePerLevel = 3;
private String tablesClasses = "showinfo3 mvert0";
private String groupRowClasses = "bgcolor2";
private String concludedGroupRowClasses = "cc_groups";
private String enrolmentClasses = "smalltxt, smalltxt aright, smalltxt aright, smalltxt aright, aright";
private String temporaryEnrolmentClasses = "smalltxt, smalltxt aright, smalltxt aright, smalltxt aright, aright";
private String impossibleEnrolmentClasses = "smalltxt, smalltxt aright, smalltxt aright, smalltxt aright, aright";
private String curricularCoursesToEnrolClasses = "smalltxt, smalltxt aright, smalltxt aright, aright";
private boolean encodeGroupRules = false;
private boolean encodeCurricularRules = true;
private String defaultLayout = null;
public String getDefaultLayout() {
return defaultLayout;
}
public void setDefaultLayout(String defaultLayout) {
this.defaultLayout = defaultLayout;
}
public Integer getInitialWidth() {
return initialWidth;
}
public void setInitialWidth(Integer initialWidth) {
this.initialWidth = initialWidth;
}
public Integer getWidthDecreasePerLevel() {
return widthDecreasePerLevel;
}
public void setWidthDecreasePerLevel(Integer widthDecreasePerLevel) {
this.widthDecreasePerLevel = widthDecreasePerLevel;
}
public String getTablesClasses() {
return tablesClasses;
}
public void setTablesClasses(String tablesClasses) {
this.tablesClasses = tablesClasses;
}
public String getGroupRowClasses() {
return groupRowClasses;
}
public void setGroupRowClasses(String groupRowClasses) {
this.groupRowClasses = groupRowClasses;
}
public String getConcludedGroupRowClasses() {
return concludedGroupRowClasses;
}
public void setConcludedGroupRowClasses(String concludedGroupRowClasses) {
this.concludedGroupRowClasses = concludedGroupRowClasses;
}
private String[] getEnrolmentClasses() {
return enrolmentClasses.split(",");
}
public void setEnrolmentClasses(String enrolmentClasses) {
this.enrolmentClasses = enrolmentClasses;
}
String getEnrolmentNameClasses() {
return getEnrolmentClasses()[0];
}
String getEnrolmentYearClasses() {
return getEnrolmentClasses()[1];
}
String getEnrolmentSemesterClasses() {
return getEnrolmentClasses()[2];
}
String getEnrolmentEctsClasses() {
return getEnrolmentClasses()[3];
}
String getEnrolmentCheckBoxClasses() {
return getEnrolmentClasses()[4];
}
private String[] getCurricularCourseToEnrolClasses() {
return curricularCoursesToEnrolClasses.split(",");
}
public void setCurricularCourseToEnrolClasses(String curricularCoursesToEnrol) {
this.curricularCoursesToEnrolClasses = curricularCoursesToEnrol;
}
String getCurricularCourseToEnrolNameClasses() {
return getCurricularCourseToEnrolClasses()[0];
}
String getCurricularCourseToEnrolYearClasses() {
return getCurricularCourseToEnrolClasses()[1];
}
String getCurricularCourseToEnrolEctsClasses() {
return getCurricularCourseToEnrolClasses()[2];
}
String getCurricularCourseToEnrolCheckBoxClasses() {
return getCurricularCourseToEnrolClasses()[3];
}
private String[] getTemporaryEnrolmentClasses() {
return temporaryEnrolmentClasses.split(",");
}
public void setTemporaryEnrolmentClasses(String enrolmentClasses) {
this.temporaryEnrolmentClasses = enrolmentClasses;
}
String getTemporaryEnrolmentNameClasses() {
return getTemporaryEnrolmentClasses()[0];
}
String getTemporaryEnrolmentYearClasses() {
return getTemporaryEnrolmentClasses()[1];
}
String getTemporaryEnrolmentSemesterClasses() {
return getTemporaryEnrolmentClasses()[2];
}
String getTemporaryEnrolmentEctsClasses() {
return getTemporaryEnrolmentClasses()[3];
}
String getTemporaryEnrolmentCheckBoxClasses() {
return getTemporaryEnrolmentClasses()[4];
}
private String[] getImpossibleEnrolmentClasses() {
return impossibleEnrolmentClasses.split(",");
}
public void setImpossibleEnrolmentClasses(String enrolmentClasses) {
this.impossibleEnrolmentClasses = enrolmentClasses;
}
String getImpossibleEnrolmentNameClasses() {
return getImpossibleEnrolmentClasses()[0];
}
String getImpossibleEnrolmentYearClasses() {
return getImpossibleEnrolmentClasses()[1];
}
String getImpossibleEnrolmentSemesterClasses() {
return getImpossibleEnrolmentClasses()[2];
}
String getImpossibleEnrolmentEctsClasses() {
return getImpossibleEnrolmentClasses()[3];
}
String getImpossibleEnrolmentCheckBoxClasses() {
return getImpossibleEnrolmentClasses()[4];
}
public BolonhaStudentEnrollmentInputRenderer() {
super();
}
public boolean isEncodeCurricularRules() {
return encodeCurricularRules;
}
public void setEncodeCurricularRules(boolean encodeCurricularRules) {
this.encodeCurricularRules = encodeCurricularRules;
}
public boolean isEncodeGroupRules() {
return encodeGroupRules;
}
public void setEncodeGroupRules(boolean encodeGroupRules) {
this.encodeGroupRules = encodeGroupRules;
}
@Override
protected Layout getLayout(Object object, Class type) {
BolonhaStudentEnrolmentLayout thisLayout =
(BolonhaStudentEnrolmentLayout) ((defaultLayout == null) ? new BolonhaStudentEnrolmentLayout() : createLayout());
thisLayout.setRenderer(this);
return thisLayout;
}
private Layout createLayout() {
try {
Class<?> clazz = Class.forName(defaultLayout);
return (Layout) clazz.newInstance();
} catch (InstantiationException e) {
logger.error(e.getMessage(), e);
} catch (IllegalAccessException e) {
logger.error(e.getMessage(), e);
} catch (ClassNotFoundException e) {
logger.error(e.getMessage(), e);
}
return null;
}
}