Java tutorial
/* * Copyright 2010-2011 the original author or authors. * * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 cn.lhfei.fu.web.model; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.SimpleExpression; import org.springframework.web.multipart.MultipartFile; import cn.lhfei.fu.orm.domain.HomeworkBase; import cn.lhfei.identity.web.convert.JsonDateSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.googlecode.genericdao.search.Filter; import com.googlecode.genericdao.search.ISearch; import com.googlecode.genericdao.search.Search; /** * @version 1.0.0 * * @author Hefei Li * * @since Dec 2, 2014 */ public class HomeworkBaseModel extends AbstractPaginationModel implements Serializable { private static final long serialVersionUID = 1991267055753135353L; @Override public List<SimpleExpression> wrapperFilter() { List<SimpleExpression> expList = new ArrayList<SimpleExpression>(); if (academicYear != null) {// user routeId to filter SimpleExpression exp = Restrictions.eq("academicYear", academicYear); expList.add(exp); } if (null != semester && semester.trim().length() > 0) { SimpleExpression exp = Restrictions.eq("semester", semester.trim()); expList.add(exp); } if (null != className && className.trim().length() > 0) { SimpleExpression exp = Restrictions.eq("className", className.trim()); expList.add(exp); } if (null != courseName && courseName.trim().length() > 0) { SimpleExpression exp = Restrictions.eq("courseName", courseName.trim()); expList.add(exp); } if (null != teacherName && teacherName.trim().length() > 0) { SimpleExpression exp = Restrictions.eq("teacherName", teacherName.trim()); expList.add(exp); } if (null != majorName && majorName.trim().length() > 0) { SimpleExpression exp = Restrictions.eq("majorName", majorName.trim()); expList.add(exp); } if (null != name && name.trim().length() > 0) { SimpleExpression exp = Restrictions.like("name", name.trim(), MatchMode.ANYWHERE); expList.add(exp); } if (null != teacherId && teacherId.trim().length() > 0) {// just not be all will be filter SimpleExpression exp = Restrictions.eq("teacherId", teacherId); expList.add(exp); } if (status > 0) {// just not be all will be filter SimpleExpression exp = Restrictions.eq("status", status); expList.add(exp); } return expList; } @Override public List<Filter> getFilters() { return null; } @Override public ISearch buildSearch() { Search search = new Search(); search.setSearchClass(HomeworkBase.class); search.setFirstResult(getFirst()); search.setMaxResults(getPageSize()); if (null != academicYear && academicYear.trim().length() > 0) { search.addFilterEqual("academicYear", academicYear.trim()); } if (null != semester && semester.trim().length() > 0) { search.addFilterEqual("semester", semester.trim()); } if (null != className && className.trim().length() > 0) { search.addFilterEqual("className", className.trim()); } if (null != courseName && courseName.trim().length() > 0) { search.addFilterEqual("courseName", courseName.trim()); } if (null != teacherName && teacherName.trim().length() > 0) { search.addFilterEqual("teacherName", teacherName.trim()); } if (null != majorName && majorName.trim().length() > 0) { search.addFilterEqual("majorName", majorName.trim()); } if (null != name && name.trim().length() > 0) { search.addFilterLike("name", "%" + name.trim() + "%"); } if (null != teacherId && teacherId.trim().length() > 0) {// just not be all will be filter search.addFilterEqual("teacherId", teacherId); } if (status > 0) {// just not be all will be filter search.addFilterEqual("status", status); } // sort by: academicYear-desc|semester-desc search.addSortDesc("academicYear"); search.addSortDesc("semester"); return search; } private Integer baseId; // ID private Integer studentBaseId; // ID private String studentId; // ? private Integer homeworkArahiveId;// ID private String studentName; //?? private String name; // ?? private String academicYear; // ' academic year' private String semester; // '(semester)' @JsonSerialize(using = JsonDateSerializer.class) private Date operationTime; private String actionType; // '?,?||?|?||' private String teacherId; // ? private String teacherName; // ?? private String className; // '???' private String courseCode; // '?' private String courseName; // '??' private String majorCode; // '?' private String majorName; // '??' private String description; private String archiveName; private String archivePath; private int status; // '? ??0 1 2 3 ]' private List<MultipartFile> files; // public Integer getBaseId() { return baseId; } public void setBaseId(Integer baseId) { this.baseId = baseId; } /** * <code>ID</code> * * @return */ public Integer getStudentBaseId() { return studentBaseId; } /** * <code>ID</code> * * @param studentBaseId */ public void setStudentBaseId(Integer studentBaseId) { this.studentBaseId = studentBaseId; } /** * ? * * @return */ public String getStudentId() { return studentId; } /** * ? * * @param studentId */ public void setStudentId(String studentId) { this.studentId = studentId; } public Integer getHomeworkArahiveId() { return homeworkArahiveId; } public void setHomeworkArahiveId(Integer homeworkArahiveId) { this.homeworkArahiveId = homeworkArahiveId; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAcademicYear() { return academicYear; } public void setAcademicYear(String academicYear) { this.academicYear = academicYear; } public String getSemester() { return semester; } public void setSemester(String semester) { this.semester = semester; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public Date getOperationTime() { return operationTime; } public void setOperationTime(Date operationTime) { this.operationTime = operationTime; } public String getActionType() { return actionType; } public void setActionType(String actionType) { this.actionType = actionType; } public String getTeacherId() { return teacherId; } public void setTeacherId(String teacherId) { this.teacherId = teacherId; } public String getTeacherName() { return teacherName; } public void setTeacherName(String teacherName) { this.teacherName = teacherName; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getCourseCode() { return courseCode; } public void setCourseCode(String courseCode) { this.courseCode = courseCode; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public String getMajorCode() { return majorCode; } public void setMajorCode(String majorCode) { this.majorCode = majorCode; } public String getMajorName() { return majorName; } public void setMajorName(String majorName) { this.majorName = majorName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<MultipartFile> getFiles() { return files; } public void setFiles(List<MultipartFile> files) { this.files = files; } public String getArchiveName() { return archiveName; } public void setArchiveName(String archiveName) { this.archiveName = archiveName; } public String getArchivePath() { return archivePath; } public void setArchivePath(String archivePath) { this.archivePath = archivePath; } }